C# vs QML om man ska bygga enkla applikationer?
Igenom åren har jag testat på följande:
- Visual Basic.NET: Detta tycker jag var helt OK. Lite konstigt sätt att deklarera variabler osv. Klammer fanns dock inte. Men annars bra! Synd att Microsoft inte lade så mycket effekt på språket på den tiden då man körde Visual Basic.NET Express Edition 2.0. Idag är väll Visual Basic.NET på uppgång...?
- Visual C#.NET: Detta tycker jag var exakt samma sak som Visual Basic.NET. Men det var mer likt Java. Bra språk. Jag gillar den gröna nyansen.
- Visual C++.NET: Detta gillade jag inte, för det var svårt och dessutom inte riktiga C++, utan det var C++/CLI. Typ någon egen version av C++.
- Vaadin + Springboot + Java: Detta gillar jag absolut starkt. Jag har gjort detta i Java och det var superenkelt att spotta upp en webbapplikation på nolltid. Det var snabbt, stabilt och enkelt. Nackdelen var att man blir låst till just Vaadins ramverk. Man har lite möjligheter att påverka och göra lite som man vill. Men det gick snabbt och smidigt om man använde deras standardverktyg, vilket jag var bara intresserad utav.
- QT C++: Jag gillar detta, men ändå inte. Jag tycker att utvecklingsverktyget är fantastiskt. Robust, stabilt och snabbt. Men nackdelen var att göra en applikation i C++....kräver många timmar. Man måste ta hänsyn till allt och helt plötsligt så fanns det ett mystiskt fel som kompilatorn ej kände utav. Jag fick skriva mycket kod. Jag känner att jag slet mer och gruvar mig att gå tillbaka till gamla QT C++ projekt
- JavaFX: Detta gillar jag också då det var enkelt att bygga en applikation med Java + SceneBuilder. Tyvärr så är JavaFX mer för hobby-folk, så det är inte värt att lägga ned sin tid på JavaFX. Dessutom dödade Oracle just Java GUI av någon mystisk anledning. Java var mitt första språk av just anledningen Java Swing. Fantastiskt fint. Bästa som har hänt. Älskar retro. En nackdel med Java är att Java är mycket "öppen källkod", vilket låter utvecklarna förlita sig på "gratis programmerare" ute på GitHub. Ibland kan det vara bra, men det kan skapa mycket buggar också.
Den enda gången jag har programmerat utan att klaga är programmering C. Jag har oftast gjort underbibliotek av just snabbhetens skull. C har alltid fungerat och med detta språk gör man egentligen inte så mycket fel, då det inte finns så många alternativ att lösa problemet på, vilket jag tycker är bra.
Jag söker ett liknande verktyg, som är industriellt och kommer vara kvar hos mig i flera år, utan att jag känner att jag måste lära mig något nytt hela tiden. Jag tänker först och främst på språk så som Python som alltid ska vara modernt och alltid ligga i framkanten. Sådan är inte jag. Jag älskar just C-syntaxen. Enkelt och ren.
Så mitt intresse nu är om man ska testa C# eller QML. För med C# så kan man anropa C kod och jämfört med C# VS C++ så skriver man mindre kod med C#. Men samtidigt gillar jag just QTs produkter för att dom är stabila och verkligen industriella.
Mina krav är följande:
- Man ska skriva lite kod för att få något gjort
- Man ska kunna anropa C kod från externa filer
- Utvecklingsverktyget ska vara industriellt
- Trådar ska vara enkla att hantera utan att man måste skapa massa onödig kod
- Utvecklingsverktyget bör ha en grafisk designer, något som Visual Studio och QT Designer har. Starkt uppskattat
- Man ska ha stöd för hårdvara t.ex. USB port och HTTP
- Viktigt med API:er t.ex. Yahoo Stocks.
- Grafer & GUI är ett måste för mig
Jag bryr mig inte om snabbheten här.
Så jag har funderat att om man ska använda C# eller om man ska använda QML.
Men jag vet inte vilken .NET jag ska använda. Om jag ska använda .NET 6, .NET Core eller Maui. QML känner jag mig också intresserad på, men jag är lite skeptisk där också...QML är väll JavaScript?