Ska jag lära mig GTK+, Nuklear, wxWidgets eller OpenJFX?

Permalänk
Skrivet av Yoshman:

Från din lista:

I/O
Är det någon som är Node.JS riktigt starka sida så är det hantering av I/O, så på denna punkt vinner Electron/Node.JS över både .NET och Java/springboot

UI
Här beror det primärt på vad man är van men, har egentligen inte gjort speciellt mycket UI och när det hänt har jag alltid föredragit webfront-ends just för att kunna köra det på vilket OS som helst. Electron är i praktiken en Chrome-fönster i en lokal applikation, d.v.s. man använder samma verktyg där som man designar webbapplikationer med och finns "drag-n-drop" (men personligen vill jag göra UI i "kod", men kanske säger hur simpla saker jag gör UI-mässigt). Givet vilka applikation som är gjorda i Electron så visar det ändå hur bra tekniken fungerar.[/li]

Industrianpassat
.NET är betydligt vanligare i Sverige än vad det är i stort. Node.JS har lite samma status i Nordamerika som .NET har här. Java/Spring Boot/Node.JS är alla så välanvända i "industrin" att ingen kommer försvinna under övrskådlig tid. NPM (pakethanterare för JS) måste rimligen ha klart mest paket ställd mot NuGet och whatever kan tänkas finnas i Java-världen (har varit i den, men är väldigt länge sedan nu, då var fortfarande J2EE och serverlets "hippt")

Snabbutvecklat
Är det något JS, Python m.fl. har en fördel mot statiskt typade kompilerade språk är det snabbare turn-around-tid vid utveckling. Personligen tycket jag värdet från statisk typning + allt det medför i form av möjlighet att hitta fel tidigt väger upp extra-tiden, föredrar därför TypeScript över både JS och Python (men Python + frivillig typanotering + VS Code tar en en hyfsad bit på vägen och då slipper man fortfarande helt kompilering-steg)[/li]

Grafer och CRUD
Ser inte riktigt varför dessa ska grupperas, men finns väldigt bra stöd för visualisering av data i webbläsaren och dessa fungerar även i Electron. CRUD vilar ju på I/O, I/O är Node.JS verklig starka punkt ställd mot .NET och Java.

Passa alla plattformer
Detta är .NET riktigt svaga sida, även om det blivit rejält mycket bättre med .NET-core. Och även med .NET-core har ARM64 stödet varit ett sorgebarn, men även det jobbas det på rejält på numera från Microsoft sidan och senaste versionen av .NET core har enorma prestandavinster på ARM64 (men säger mer om hur kasst det var innan, både Java och NodeJS har redan lysande ARM64 stöd).

WPF verkar lite på väg ut och vad jag kan se fungerar det bara under Linux+.NET-core via Wine, vilket i praktiken säger att det inte fungerar på Linux. Det borde helt utesluta MacOS.

Det jag hittade om MAUI är att det initialt kommer stödja Windows, MacOS, iOS och Android, ser inget om stöd för "vanliga" Linux.

Så även om dotnet-core gjort .net tillgängligt för Windows, MacOS och Linux i "back-end" är det fortfarande ett rätt uselt val för Linux UI. Java är ett helt OK val, webb-teknik (t.ex. Electron) är det klart "säkraste" valet då det har lysande stöd på alla relevanta OS.

Ovanpå det nämnde du C++ för högprestanda saker. C++ är tyvärr inte speciellt enkelt att integrera med något annan programspråk, utom möjligen C, då man aldrig standardiserat dess ABI. Men då NodeJS är byggt på bibliotek som själva är utvecklade i C++ är det av alternativen det som är enklast och har minst overhead mot C++ extensioner. Beroende på vad man gör är det i.o.f.s. ibland möjligt att köra beräkningar i en separat process, i det läget kan man ju kombinera det med vilken annan teknik/annat språk som helst utan större problem.

Bra inlägg!

Jag har kört mycket Spring Boot och jag gillar det. Enkelt att komma igång osv samt att det finns mycket manualer.
Jag väljer alltid det enklaste. Viktigt för mig är att det är inte beroende av plattform.

Så webbapplikationer kommer vara framtidens applikationer där vanliga "offline"-applikationer fasas ut helt och hållet på grund utav internets kraft?

Om det är sant, då kan jag lika gärna hålla mig kvar vid Spring Boot och komplettera med JavaScript t.ex. AngularJS, React eller Vue.

Permalänk
Medlem
Skrivet av heretic16:

Detta låter intressant.

Så det är mer värt att lägga krut på JavaScript + backend? Alltså att webbapplikationer skulle vara något bättre oavsett?

QT låter bra.
Jag är en van C programmerare då jag finner C språket mer enklare än C++. Inge fel på C++, men jag tycker att C++ uppdateras allt för ofta och många som skriver C++ skriver C++ på en sådan avancerad nivå så man undrar vad syftet är. Jag skriver så minimal kod som möjligt. Mindre kod, bättre kod.

En fråga!
Med nya .NET 5, som fungerar på Linux. Är inte då Java dödsföklarad? Jag menad, orsaken varför man kör Java har med att "compile once, run everywere". Men .NET så bör man alltså kunna köra Windows applikationer rakt på Linux idag? Då känns .NET allt mer värt än Java.

Alltså allt har ju sin plats. Vill man göra något mot hårdvarunära kanske inte web teknologier är att föredra alltid.

Även om. Net numera har Linux stöd kommer det ta några år för det att ta fart. Har för mig att många gamla paket inte fungerar osv utan att uppdateras och det är ju problematiskt.

Men ärligt talat så är inte Linux stöd så intressant ur ett användarperspektiv. Det grymma är att man nu kan köra. Net på linux servrar! 😁

Visa signatur

Citera för svar

Permalänk
Skrivet av Baxtex:

Alltså allt har ju sin plats. Vill man göra något mot hårdvarunära kanske inte web teknologier är att föredra alltid.

Även om. Net numera har Linux stöd kommer det ta några år för det att ta fart. Har för mig att många gamla paket inte fungerar osv utan att uppdateras och det är ju problematiskt.

Men ärligt talat så är inte Linux stöd så intressant ur ett användarperspektiv. Det grymma är att man nu kan köra. Net på linux servrar! 😁

Det är bra att Microsoft har insett att linuxservrar har en marknad.

Men för min del är det viktigt att skapa applikationer enkelt. Viktigaste för mig är att man ska kunna skapa applikationer som är inte plattformsberoende.

Permalänk
Hedersmedlem
Skrivet av heretic16:

Med nya .NET 5, som fungerar på Linux. Är inte då Java dödsföklarad? Jag menad, orsaken varför man kör Java har med att "compile once, run everywere". Men .NET så bör man alltså kunna köra Windows applikationer rakt på Linux idag? Då känns .NET allt mer värt än Java.

Jag vet inte om det är riktigt det som utlovas, men projekt som kan byggas på Windows kan även byggas på Linux (under vissa förutsättningar: än så länge gäller det ju som sagt terminalprogram och bibliotek, och det finns till exempel inte heller stöd för c++/cli).

Dessutom undrar jag om det verkligen är anledningen till att Java väljs när så sker. Det lyfts ju ofta fram som en stor fördel (särskilt förr), men viktigare är nog att utvecklarna redan är bekväma med Java, att de smidigt vill interagera med andra komponenter skrivna i Java eller utnyttja Javas stora standardbibliotek eller utvecklingsverktyg.

Permalänk
Skrivet av Elgot:

Jag vet inte om det är riktigt det som utlovas, men projekt som kan byggas på Windows kan även byggas på Linux (under vissa förutsättningar: än så länge gäller det ju som sagt terminalprogram och bibliotek, och det finns till exempel inte heller stöd för c++/cli).

Dessutom undrar jag om det verkligen är anledningen till att Java väljs när så sker. Det lyfts ju ofta fram som en stor fördel (särskilt förr), men viktigare är nog att utvecklarna redan är bekväma med Java, att de smidigt vill interagera med andra komponenter skrivna i Java eller utnyttja Javas stora standardbibliotek eller utvecklingsverktyg.

Jag är bekväm med Java. Jag är gammskola(oldschool) och har alltid kört Java för det har alltid varit smärtfritt när det kommer till implementering på servrar.

Men det är just ett UI jag saknar. Jag har kört Vaadin som UI. Fungerar bra och superenkelt, rekommenderar det. Men jag behöver prestanda och då måste jag antingen titta på OpenJFX eller något helt annat.

Men .NET lockar faktiskt. Låter häftigt. C# är dessutom en kopia av Java.

Permalänk
Medlem
Skrivet av Elgot:

Av någon anledning har de väl inte sagt så mycket om Maui för Linux dock? Till att börja med är att Windows och Mac som gäller...

Det är inte helt tydligt. Men IMHO så är ju Mac typ BSD, så Linux borde ju vara "på köpet".

NET Rocks podcasten hade ett avsnitt kring MAUI och där tyckte jag det sa Linux också, möjligt att inte allt släppts exakt samtidigt

// LZ

Permalänk
Hedersmedlem
Skrivet av Tea42BBS:

Det är inte helt tydligt. Men IMHO så är ju Mac typ BSD, så Linux borde ju vara "på köpet".

Man kan tycka det, men kanske underlättar det att Mac har ett mera standardiserat grafik-api?

Sedan vet man ju inte heller hur väl Maui kommer slå. Wpf känns ju som sagt lite på väg ut, och så har det väl varit i snart ett decennium..
Det är kanske inte så lätt att få folk att hoppa på nya tåg, och Microsoft har ju en viss tradition av att överge plattformar ibland.

Permalänk
Skrivet av Elgot:

Man kan tycka det, men kanske underlättar det att Mac har ett mera standardiserat grafik-api?

Sedan vet man ju inte heller hur väl Maui kommer slå. Wpf känns ju som sagt lite på väg ut, och så har det väl varit i snart ett decennium..
Det är kanske inte så lätt att få folk att hoppa på nya tåg, och Microsoft har ju en viss tradition av att överge plattformar ibland.

Men är inte detta klassiskt stora företag som väljer att rikta sina produkter till sig själv?

Oracle hade ju Java Swing, JavaFX 2.0, Java ME. Alla dessa är nu "döda". JavaFX lever dock kvar som OpenJFX, men det har med att GluonHQ tog över det. Det blev för dyrt för att underhålla dessa, så Oracle helt enkelt lade ned dessa projekt.

Även Oracle JDK "dog ut" och blev öppen källkod och lever vidare som OpenJDK hos diverse grupper/företag. Resultatet tycker jag blev bättre. Fri från licenser osv.

Jag vet inte hur det ser ut för Microsoft. Men dom har en tendens att lägga ned saker dom med. Dock inte när det kommer till .NET, eller?

Permalänk
Hedersmedlem
Skrivet av heretic16:

Jag vet inte hur det ser ut för Microsoft. Men dom har en tendens att lägga ned saker dom med. Dock inte när det kommer till .NET, eller?

Hehe, .Net 5 kommer faktiskt ur .Net core 3.1 snarare än det .Net som har funnits länge (och fasas ut nu). Till stora delar är de kompatibla, men skillnader finns.

Permalänk
Skrivet av Elgot:

Hehe, .Net 5 kommer faktiskt ur .Net core 3.1 snarare än det .Net som har funnits länge (och fasas ut nu). Till stora delar är de kompatibla, men skillnader finns.

Så applikationer som kör .NET Framework 2.0 kan man inte köra på .NET 5?

Så för min del, vad rekommenderas då?
Hålla mig kvar vid Spring Boot, eller satsa på .NET 5?

Permalänk
Hedersmedlem
Skrivet av heretic16:

Så applikationer som kör .NET Framework 2.0 kan man inte köra på .NET 5?

Källkoden kan troligen kompileras om med .Net 5 (fast man måste konvertera projektfiler och liknade först), och eventuellt får man göra vissa förändringar om standardbiblioteket har ändrats men kompatibiliteten är nog rätt god ändå.

Permalänk
Skrivet av Elgot:

Källkoden kan troligen kompileras om med .Net 5 (fast man måste konvertera projektfiler och liknade först), och eventuellt får man göra vissa förändringar om standardbiblioteket har ändrats men kompatibiliteten är nog rätt god ändå.

Jag tänkte att det skulle vara lika lätt som Java. Bara köra alltså.

Men det känns som det inte finns något alternativ till "offline"-applikationer i Java och WPF verkar ha dött ut i .NET.
Då kanske QT är det enda rätta för mig? Men orsaken varför man kör QT har ju med att man vill komma åt hårdvaran riktigt bra. Då kan man lika gärna köra GTK+.

Webbapplikationer känns mer framtiden också. Men måste man inte underhålla webbapplikationer?
Sådant gillar inte jag. Jag är som sagt från den gamla skolan som vill ha industriella applikationer och funktionen är det viktigaste. Viktigaste är att det ska gå snabbt också.

Permalänk
Hedersmedlem
Skrivet av heretic16:

Jag tänkte att det skulle vara lika lätt som Java. Bara köra alltså.

Men det känns som det inte finns något alternativ till "offline"-applikationer i Java och WPF verkar ha dött ut i .NET.

Nej då, det är ungefär lika lätt. Om man startar ett nytt projekt blir ju allt rätt från början och kommer troligen fungera många år framöver. Fast gui-biten är lite fragmenterad just nu, men möjligen kommer Maui till undsättning för alla med tiden. Dessutom finns Blazor, Avalonia och liknade.

Skrivet av heretic16:

Då kanske QT är det enda rätta för mig? Men orsaken varför man kör QT har ju med att man vill komma åt hårdvaran riktigt bra. Då kan man lika gärna köra GTK+.

Jag gillar Qt, men dess stora fördel är att det är ett så väldesignat ramverk. Det är en fröjd att använda jämfört med gtk+, wxwidgets och liknande.

Permalänk
Avstängd
Skrivet av Yoshman:

Skulle också gissa att VS är den mest använda utvecklingsmiljön för Windows. Men säger inte det också en del om storlek/komplexitet på majoriteten av alla projekt givet hur VS totalt havererar när man har lite större projekt (som exempel intellisens kan "lagga" i sekunder på stora projekt, vilket i praktiken gör det helt oanvändbart)?

Finns en anledning varför t.ex. JetBrains blir allt mer populär , deras produkter kan till skillnad från VS faktiskt hantera stora projekt (och deras produkter är likt mycket annat stängd kod). VS Code fixar också riktigt stora projekt med bravur.

Det är lite roligt att det är just JetBrains ReSharper som totalt segar ner mitt VS. Som tur är finns det mesta sånt inbyggt i VS nuförtiden så man behöver inte installera några intellisense plugins om man inte ska göra mer obskyra saker.

I övrigt håller jag inte riktigt med. Jag använder VS och VS Code varje dag i jobbet för olika bitar av sviten jag jobbar med. VS Code är grymt på många sätt men det är långt ifrån lika användarvänligt som feta VS. Sen ligger ju i princip all funktionalitet i plugins, varav en del är riktigt bra medan andra inte är det. Delvis handlar det om vana förstås, jag gillar att ha min solution explorer, test explorer och så.

Permalänk
Avstängd
Skrivet av heretic16:

Jag tänkte att det skulle vara lika lätt som Java. Bara köra alltså.

Men det känns som det inte finns något alternativ till "offline"-applikationer i Java och WPF verkar ha dött ut i .NET.
Då kanske QT är det enda rätta för mig? Men orsaken varför man kör QT har ju med att man vill komma åt hårdvaran riktigt bra. Då kan man lika gärna köra GTK+.

Webbapplikationer känns mer framtiden också. Men måste man inte underhålla webbapplikationer?
Sådant gillar inte jag. Jag är som sagt från den gamla skolan som vill ha industriella applikationer och funktionen är det viktigaste. Viktigaste är att det ska gå snabbt också.

Du får ju separera GUI och prestandakrävande saker. De senaste fem tio åren har allt jag jobbat med som har haft användare som inte är utvecklare haft ett webgui, det spelar ingen roll vad det handlar om utan behövs ett GUI så ligger det där. Att du behöver underhålla det är förstås sant, precis som det är sant för alla delar av ens applikation oavsett ramverk, språk eller liknande.

Permalänk
Skrivet av Elgot:

Nej då, det är ungefär lika lätt. Om man startar ett nytt projekt blir ju allt rätt från början och kommer troligen fungera många år framöver. Fast gui-biten är lite fragmenterad just nu, men möjligen kommer Maui till undsättning för alla med tiden. Dessutom finns Blazor, Avalonia och liknade.

Jag gillar Qt, men dess stora fördel är att det är ett så väldesignat ramverk. Det är en fröjd att använda jämfört med gtk+, wxwidgets och liknande.

Tittade lite på Maui och det verkar vara många steg för att kompilera en applikation. Väldigt grötigt. Påminner lite om när jag gjorde en applikation i Java för iOS och Android via GluonHQ. Många steg. Mycket "Du måste ha denna, denna och denna först installerad" och massa terminaler för att komma igång.

Jag blev inte imponerad. Då tycker jag att QT känns mer värt, trots att det kostar pengar. Ser snyggt ut tycker jag

Så nu har vi diskuterat lite olika ramverk. .NET 5 ser bra ut, men jag vet inte om det är rätt verktyg för mig då det känns relativt nytt. Jag vill ha beprövat och industriellt. Något som alltid kommer finnas och håller en rak linje.

Jag ska titta runt lite. Bästa vore om jag kunde hålla mig kvar hos JavaFX.

Permalänk
Hedersmedlem

@heretic16 Qt finns som sagt även gratis via till exempel L-GPL (vilket är ungefär samma som wxwidgets använder).

Permalänk
Hedersmedlem

Lär dig allt till en hjälplig nivå, sen kan du nog själv ta ett bra beslut om vad du ska fördjupa dig i.

Permalänk
Skrivet av Elgot:

@heretic16 Qt finns som sagt även gratis via till exempel L-GPL (vilket är ungefär samma som wxwidgets använder).

Nej. QT är inte gratis.
För öppen källkod är det säkert gratis.

Går programmen ens sälja om man saknar licens?

Permalänk
Hedersmedlem
Skrivet av heretic16:

Nej. QT är inte gratis.
För öppen källkod är det säkert gratis.

Går programmen ens sälja om man saknar licens?

Jadå, med L-GPL får man länka till Qt från en kommersiell och stängd applikation (och det är ju så man typiskt använder ett sådant ramverk), men om du gör ändringar i själva Qt måste du publicera dem.

Permalänk
Skrivet av Elgot:

Jadå, med L-GPL får man länka till Qt från en kommersiell och stängd applikation (och det är ju så man typiskt använder ett sådant ramverk), men om du gör ändringar i själva Qt måste du publicera dem.

Vadå ändringar i QT?

Permalänk
Datavetare
Skrivet av snajk:

Det är lite roligt att det är just JetBrains ReSharper som totalt segar ner mitt VS. Som tur är finns det mesta sånt inbyggt i VS nuförtiden så man behöver inte installera några intellisense plugins om man inte ska göra mer obskyra saker.

I övrigt håller jag inte riktigt med. Jag använder VS och VS Code varje dag i jobbet för olika bitar av sviten jag jobbar med. VS Code är grymt på många sätt men det är långt ifrån lika användarvänligt som feta VS. Sen ligger ju i princip all funktionalitet i plugins, varav en del är riktigt bra medan andra inte är det. Delvis handlar det om vana förstås, jag gillar att ha min solution explorer, test explorer och så.

Ah, kanske var oklart. Jag använder inte VS/VS Code/JetBrains (specifikt Rider for Unreal) för C#, använder det för C++ (och i fallet VS helt utan extra plugins samtidigt som VS Code har flera C++ och även ett par UE4 specifika plugins).

Något är väldigt off med "vanliga" VS för det har rätt grava prestandaproblem i projekt med miljontals rader C++. Vet inte när det börjar sega ned sig, är inte jättemånga projekt som har så mycket kod, samtidigt är 1 M rader kod inte precis något direkt stort projekt givet hur pass stora projekt som folk ändå jobbar på.

Och hur bra/dåligt VS Code fungerar hänger ju helt på vilka extensioner man har och hur bra/dåliga de är. Riktigt coola med VS Code är att det börjar komma nära en "modern" variant av Vim/Emacs vad det gäller att stödja rätt smala användarfall.

Där VS Code fungerar riktigt bra enligt min erfarenhet är ihop med NodeJS. Python-stödet är också direkt lysande. C++ stöder är bra, men finns fortfarande saker som jag personligen tycker Emacs (ihop med min rätt långa .emacs fil) gör bättre där.

Visa signatur

Care About Your Craft: Why spend your life developing software unless you care about doing it well? - The Pragmatic Programmer

Permalänk
Hedersmedlem
Skrivet av heretic16:

Vadå ändringar i QT?

Om du laddar ned källkoden till Qt, ändrar något, bygger om och använder resultatet i din applikation till exempel.

Permalänk
Datavetare
Skrivet av Elgot:

Jadå, med L-GPL får man länka till Qt från en kommersiell och stängd applikation (och det är ju så man typiskt använder ett sådant ramverk), men om du gör ändringar i själva Qt måste du publicera dem.

Tyvärr verkar QT licensen betydlig snårigare än så. Är bara vissa delar av QT som är tillgängliga under L-GPL, så man måste först reda ut om någon av de saker som ska användas faktiskt finns under den licensmodellen.

På denna sida verkar de visualisera vad som finns för respektive licens. Om jag inte missförstått deras high-light är ser det ut som endast den kommersiella licensen ger allt, övriga licensmodeller undantar vissa delar.

Man säger också detta på hemsidan

"Qt for Application Development is also available under GPL and LGPLv3 open source licenses. Qt tools and some libraries are only available under GPL."

Tänker då specifikt på att vissa saker verkar bara finnas under GPL, inte under LGPLv3.

Och då jag nämnt Electron flera gånger: den använder MIT-licens, d.v.s. man kan i princip använda det biblioteket fritt i sina applikationer.

vxWidgets verkar ha någon egen licens, som i praktiken beskrivs ligga väldigt nära LGPL. Fördelen där jämfört med QT är att allt täcks under samma licens.

Det skrivet: jag tillhör också de som verkligen gillar QT. Hoppades länge att det skulle bli den "vinnande" tekniken under Linux, men man får väl säga att det blev GTK+ som "vann". Ställt mot GTK+ har QT klara fördelar om man även vill stödja OS som Windows och MacOS. GTK+ må "fungera", men det brukar inte riktigt kännas "native" på Windows/MacOS.

Visa signatur

Care About Your Craft: Why spend your life developing software unless you care about doing it well? - The Pragmatic Programmer

Permalänk
Hedersmedlem

@Yoshman jag håller med om att det är synd att det inte är enklare (och friare), men riktigt så komplicerat tror jag inte att det är. I princip är det bara* datavisualiseringskomponenterna (som förvisso är häftiga) man går miste om med lgpl, och vad det är för licens på verktygen behöver man troligen inte bry sig så mycket om?

*Det finns fler, men de är det nog få som saknar.

Permalänk
Skrivet av Yoshman:

Tyvärr verkar QT licensen betydlig snårigare än så. Är bara vissa delar av QT som är tillgängliga under L-GPL, så man måste först reda ut om någon av de saker som ska användas faktiskt finns under den licensmodellen.

På denna sida verkar de visualisera vad som finns för respektive licens. Om jag inte missförstått deras high-light är ser det ut som endast den kommersiella licensen ger allt, övriga licensmodeller undantar vissa delar.

Man säger också detta på hemsidan

"Qt for Application Development is also available under GPL and LGPLv3 open source licenses. Qt tools and some libraries are only available under GPL."

Tänker då specifikt på att vissa saker verkar bara finnas under GPL, inte under LGPLv3.

Och då jag nämnt Electron flera gånger: den använder MIT-licens, d.v.s. man kan i princip använda det biblioteket fritt i sina applikationer.

vxWidgets verkar ha någon egen licens, som i praktiken beskrivs ligga väldigt nära LGPL. Fördelen där jämfört med QT är att allt täcks under samma licens.

Det skrivet: jag tillhör också de som verkligen gillar QT. Hoppades länge att det skulle bli den "vinnande" tekniken under Linux, men man får väl säga att det blev GTK+ som "vann". Ställt mot GTK+ har QT klara fördelar om man även vill stödja OS som Windows och MacOS. GTK+ må "fungera", men det brukar inte riktigt kännas "native" på Windows/MacOS.

Men är inte GTK+ hobby-projekt?
Jag ser inga företag som investerar i detta.

Jag tror inte jag ska börja med webbapplikationer.
Jag har hört att oftast så vill företag inte "släppa in" nya webbapplikationer i sitt företag. De vill hellre att allt ska ligga på något moln.

Så länge det ligger på ett moln så är det värdelöst för mig, för jag är beroende utav hårdvaran t.ex. USB porten osv.

Permalänk
Avstängd
Skrivet av Yoshman:

Ah, kanske var oklart. Jag använder inte VS/VS Code/JetBrains (specifikt Rider for Unreal) för C#, använder det för C++ (och i fallet VS helt utan extra plugins samtidigt som VS Code har flera C++ och även ett par UE4 specifika plugins).

Något är väldigt off med "vanliga" VS för det har rätt grava prestandaproblem i projekt med miljontals rader C++. Vet inte när det börjar sega ned sig, är inte jättemånga projekt som har så mycket kod, samtidigt är 1 M rader kod inte precis något direkt stort projekt givet hur pass stora projekt som folk ändå jobbar på.

Jo, jag har också slagit i någon form av tak där prestandan plötsligt gick åt skogen, tror det var vid 100-110 projekt i samma solution någonstans. Men hamnar man där så tyder det på problem med arkitekturen, eller en fullständig brist på arkitekturtänk kanske (vilket var problemet där jag jobbade). Men jag har inte märkt av några problem med bara några miljoner rader kod. Samtidigt jobbar jag ju mestadels med .Net och aldrig med C++ så det kanske funkar bättre.

Citat:

Och hur bra/dåligt VS Code fungerar hänger ju helt på vilka extensioner man har och hur bra/dåliga de är. Riktigt coola med VS Code är att det börjar komma nära en "modern" variant av Vim/Emacs vad det gäller att stödja rätt smala användarfall.

Jo det kanske är där det tar emot lite. VS är ju vad det är, det finns olika konfigurationer för olika typer av utveckling, och plugins förstås men i allmänhet så är det ändå väldigt mycket samma. I Code så känns det som om alla har olika uppsättningar och det blir ett helvete att följa vad någon gör eller att försöka förklara hur någon ska göra.

Men jag gillar ju Code i allmänhet, jag tycker bara det blir svårt att ha någon överblick i större projekt. Jag använder det för att bygga GUI i Angular, både till liksom web-appen i centrum och för de services jag jobbar med.

Citat:

Där VS Code fungerar riktigt bra enligt min erfarenhet är ihop med NodeJS. Python-stödet är också direkt lysande. C++ stöder är bra, men finns fortfarande saker som jag personligen tycker Emacs (ihop med min rätt långa .emacs fil) gör bättre där.

NodeJS har jag inte pillat mycket med, men det är ju ett av valen man kan göra vid installation av VS. Men jag håller nog med att js- eller ts-baserad utveckling nog passar bättre i Code eller liknande mer lättviktiga verktyg.

Skrivet av heretic16:

Men är inte GTK+ hobby-projekt?
Jag ser inga företag som investerar i detta.

Jag tror inte jag ska börja med webbapplikationer.
Jag har hört att oftast så vill företag inte "släppa in" nya webbapplikationer i sitt företag. De vill hellre att allt ska ligga på något moln.

Så länge det ligger på ett moln så är det värdelöst för mig, för jag är beroende utav hårdvaran t.ex. USB porten osv.

Vad är molnet om inte webbaserat? Vad företag vill har jag kanske inte så bra koll på mer än mina kunder, men de är i alla fall i allmänhet glada över vårt (nya) webbaserade gränssnitt, och gnäller på de tredjepartsprodukter som ingår i vår svit som inte är webbaserade. Sen beror det förstås på vilken typ av applikation man gör, men webbaserade gränssnitt har i princip tagit över de flesta typer av affärssystem och så, i min erfarenhet.

Permalänk
Datavetare
Skrivet av heretic16:

Men är inte GTK+ hobby-projekt?
Jag ser inga företag som investerar i detta.

Jag tror inte jag ska börja med webbapplikationer.
Jag har hört att oftast så vill företag inte "släppa in" nya webbapplikationer i sitt företag. De vill hellre att allt ska ligga på något moln.

Så länge det ligger på ett moln så är det värdelöst för mig, för jag är beroende utav hårdvaran t.ex. USB porten osv.

Bara så det står helt klart: även om Electron använder CSS/HTML och JavaScript precis som man gör i webbapplikationer så skriver man "normala" desktop-applikationer med Electron som har samma tillgång till lokal HW som du har från QT eller WSL applikationer.

Den stora fördelen med Electron är att man använder samma teknik som för webbapplikationer, något som bl.a. medför att man väldigt enkelt kan bygga en webb-baserad version av sin applikation om så önskas. Finns projekt som jobbar på att göra Visual Studio code tillgänglig direkt i webbläsaren, är ju riktigt användbart!

En annan cool sak med NodeJS är hur brutalt bra prestanda det har trots att det är "interpreterat" (i praktiken sker ju en kompilering/JIT när programmet körs). Har man mer extrema prestandakrav finns som sagt officiellt stöd för att bygga moduler i C++, med Java och .NET får man i praktiken gå omvägen via C och de har väsentligt högre "overhead" i sin övergång till C++.

Har jobbat som arkitekt för en plattform för embedded-utveckling i "molnet". I den kan man dels jobba med saker lokalt via extensioner till Visual Studio Code, men också möjligt att utveckla, debugga och distribuera applikationer till nätverksanslutna enheter (t.ex. RPi:s och liknande system) med webbläsaren som enda krav. Electron, Angular 2 och NodeJS är en av de kritiska komponenterna där (och koden är en blandning av JS och TS, körde själv uteslutande TS).

Skrivet av snajk:

Jo, jag har också slagit i någon form av tak där prestandan plötsligt gick åt skogen, tror det var vid 100-110 projekt i samma solution någonstans. Men hamnar man där så tyder det på problem med arkitekturen, eller en fullständig brist på arkitekturtänk kanske (vilket var problemet där jag jobbade). Men jag har inte märkt av några problem med bara några miljoner rader kod. Samtidigt jobbar jag ju mestadels med .Net och aldrig med C++ så det kanske funkar bättre.
Jo det kanske är där det tar emot lite. VS är ju vad det är, det finns olika konfigurationer för olika typer av utveckling, och plugins förstås men i allmänhet så är det ändå väldigt mycket samma. I Code så känns det som om alla har olika uppsättningar och det blir ett helvete att följa vad någon gör eller att försöka förklara hur någon ska göra.

Men jag gillar ju Code i allmänhet, jag tycker bara det blir svårt att ha någon överblick i större projekt. Jag använder det för att bygga GUI i Angular, både till liksom web-appen i centrum och för de services jag jobbar med.
NodeJS har jag inte pillat mycket med, men det är ju ett av valen man kan göra vid installation av VS. Men jag håller nog med att js- eller ts-baserad utveckling nog passar bättre i Code eller liknande mer lättviktiga verktyg.
Vad är molnet om inte webbaserat? Vad företag vill har jag kanske inte så bra koll på mer än mina kunder, men de är i alla fall i allmänhet glada över vårt (nya) webbaserade gränssnitt, och gnäller på de tredjepartsprodukter som ingår i vår svit som inte är webbaserade. Sen beror det förstås på vilken typ av applikation man gör, men webbaserade gränssnitt har i princip tagit över de flesta typer av affärssystem och så, i min erfarenhet.

100-tals projekt verkar ju helt wacko
Det är då inte problemet i de fall jag sett, där har det handlat om tiotalet projekt även om totala mängden kod varit milliontals rader.

Just hastigheten i att navigera kod på olika sätt, jämfört med andra IDE:er (och "andra IDE:er" är nästan alltid Visual Studio i detta kontext) är det folk primärt berömmer JetBrains Rider för. Men visst finns det ändå problem, t.ex. fick JVM:en lite spel på min jobbdator som har 128 GB RAM (vilket inte är extremt, men knappast normalfallet heller). Men gick att fixa med lite explicit konfig...

Visa signatur

Care About Your Craft: Why spend your life developing software unless you care about doing it well? - The Pragmatic Programmer

Permalänk
Skrivet av Yoshman:

Bara så det står helt klart: även om Electron använder CSS/HTML och JavaScript precis som man gör i webbapplikationer så skriver man "normala" desktop-applikationer med Electron som har samma tillgång till lokal HW som du har från QT eller WSL applikationer.

Den stora fördelen med Electron är att man använder samma teknik som för webbapplikationer, något som bl.a. medför att man väldigt enkelt kan bygga en webb-baserad version av sin applikation om så önskas. Finns projekt som jobbar på att göra Visual Studio code tillgänglig direkt i webbläsaren, är ju riktigt användbart!

En annan cool sak med NodeJS är hur brutalt bra prestanda det har trots att det är "interpreterat" (i praktiken sker ju en kompilering/JIT när programmet körs). Har man mer extrema prestandakrav finns som sagt officiellt stöd för att bygga moduler i C++, med Java och .NET får man i praktiken gå omvägen via C och de har väsentligt högre "overhead" i sin övergång till C++.

Har jobbat som arkitekt för en plattform för embedded-utveckling i "molnet". I den kan man dels jobba med saker lokalt via extensioner till Visual Studio Code, men också möjligt att utveckla, debugga och distribuera applikationer till nätverksanslutna enheter (t.ex. RPi:s och liknande system) med webbläsaren som enda krav. Electron, Angular 2 och NodeJS är en av de kritiska komponenterna där (och koden är en blandning av JS och TS, körde själv uteslutande TS).

100-tals projekt verkar ju helt wacko
Det är då inte problemet i de fall jag sett, där har det handlat om tiotalet projekt även om totala mängden kod varit milliontals rader.

Just hastigheten i att navigera kod på olika sätt, jämfört med andra IDE:er (och "andra IDE:er" är nästan alltid Visual Studio i detta kontext) är det folk primärt berömmer JetBrains Rider för. Men visst finns det ändå problem, t.ex. fick JVM:en lite spel på min jobbdator som har 128 GB RAM (vilket inte är extremt, men knappast normalfallet heller). Men gick att fixa med lite explicit konfig...

Så du rekommenderar Electron till mig?
Om man säger så här.
Jag tror jag har bestämt mig. Spring Boot + Java. Jag är van med det och Spring Boot har alla funktioner man önskar sig, dessutom så är Spring Boot väldigt industriellt.

Men jag söker ett bra UI.
Jag har kört Vaadin. Jag gillar det, men det är lite segt. Även Vaadin's hemsida är seg.
Den enda fördelen med Vaadin är att jag kunde skapa webbapplikationer på 5 timmar som annars skulle ta flera veckor.

Permalänk
Avstängd
Skrivet av Yoshman:

...

100-tals projekt verkar ju helt wacko
Det är då inte problemet i de fall jag sett, där har det handlat om tiotalet projekt även om totala mängden kod varit milliontals rader.

Jo det är wacko. En stor fördel med vår övergång till micro services är ju att man bara behöver dra runt den service/funktionalitet man faktiskt jobbar med, i debuggern och så. Däremot är det inte helt lätt att exempelvis köra 30 containers med olika services, ett par Windows VMs för tredjepartsprogram och koppla ihop detta med ens projekt som körs lokalt i debug. Nu har jag fått till det så det går hyfsat enkelt, men inga containers har förstås pdb-filer eller liknande så man kan liksom inte komma åt saker som ligger utanför om man skulle behöva granska några parametrar eller så.

Citat:

Just hastigheten i att navigera kod på olika sätt, jämfört med andra IDE:er (och "andra IDE:er" är nästan alltid Visual Studio i detta kontext) är det folk primärt berömmer JetBrains Rider för. Men visst finns det ändå problem, t.ex. fick JVM:en lite spel på min jobbdator som har 128 GB RAM (vilket inte är extremt, men knappast normalfallet heller). Men gick att fixa med lite explicit konfig...

Jag har lekt lite med Rider, det ingår i min Resharper-licens, och den har ju både för och nackdelar gentemot VS men i vår miljö var det lite problem att få den att fungera. En del kritiska plugins som inte funkade som de skulle och så. Det hade säkert gått att lösa, men vi är, som många andra, rätt fast i MS-världen och ska det vara värt att lägga ner de resurser som krävs för att dra åt något annat håll så måste ju alla med på tåget. Ur chefernas synvinkel är det ju slöseri med tid liksom.

Skrivet av heretic16:

Så du rekommenderar Electron till mig?
Om man säger så här.
Jag tror jag har bestämt mig. Spring Boot + Java. Jag är van med det och Spring Boot har alla funktioner man önskar sig, dessutom så är Spring Boot väldigt industriellt.

Jag har svårt att förstå vad du är ute efter riktigt. Du skapar rätt ofta trådar där du frågar om någon teknik eller något ramverk är bra för det ena eller det andra, men du lyssnar sällan på svaren du får utan väljer att stanna med det du kan. Det är helt ok att göra det, och det skadar förstås inte att titta på alternativ även om man inte väljer att köra på dem, men det känns lite som om du helst vill ha bekräftelse att du har gjort rätt val av plattform eller ramverk och det kommer du inte att få.

Citat:

Men jag söker ett bra UI.
Jag har kört Vaadin. Jag gillar det, men det är lite segt. Även Vaadin's hemsida är seg.
Den enda fördelen med Vaadin är att jag kunde skapa webbapplikationer på 5 timmar som annars skulle ta flera veckor.

Men det finns moderna ramverk som hjälper dig, du kan från scratch få upp en webbapp i Angular utan förkunskaper på några timmar exempelvis. Denna tutorial verkar vara uppskattad exempelvis: https://www.youtube.com/watch?v=k5E2AVpwsko