Qt Group - Eeppinen matka teknojätiksi

LinkedInissä avoimia työpaikkoja osoitteessa “Worldwide”:

  • Hakusana: “flutter”: 10 020 kpl
  • Hakusana “qt”: 9928 kpl

Stackissä kysymyksiä:

  • Tagilla “flutter”: 99 193 kpl
  • Tagilla “qt”: 80 081 kpl

Google -hakutuloksia:

  • “flutter”: 122 miljoonaa
  • “qt”: 225 miljoonaa

Bing -hakutuloksia:

  • “flutter”: 20 miljoonaa
  • “qt”: 45 miljoonaa

Indeed.com -työpaikkoja (jenkeissä):

  • “flutter”: 658 sivua
  • “qt”: 1142 sivua

Miten tuon sitten tulkitsisi. Tasaista on vääntö, mutta Qt tuntuu olevan vielä suosiossa jenkeissä, plus enemmän artikkeleita. Työpaikkoja maailmanlaajuisesti on tasaisemmin. Katotaas miten menee jako Eurooppa/Amerikka/Aasia LinkedInissä:

Flutter:

  • 1779 kpl European Economic Area
  • 6367 kpl APAC
  • 1060 kpl USA
  • 171 kpl Kanada

Qt:

  • 1734 kpl European Economic Area
  • 6542 kpl APAC
  • 1573 kpl USA
  • 174 kpl Kanada

Jako on kyllä niin tasan kuin voi :smiley:

Entäs trendi. Tässähän siis skaala on suhteessa itseen. 100 = tuona hetkenä on ollut kautta aikain eniten kiinnostusta (hakuja):

Qt:n trendi on ehkä ihan karvan laskeva, ja flutter on ehkä saavuttanut huippunsa?

33 tykkäystä

Korjatkaa tarvittaessa, mutta Flutter ei käsittääkseni tällä hetkellä ole mikään kovin poikkivertikaalinen työkalu, kuten Qt on. Aloitetaan vaikka siitä, että dev. tooleja puuttuu pino ja MCU kokonaan. Näin ollen näitä vertaillessa olisi hyvä nostaa myös vertikaalien määrää esille…? Omenat ovat erilaisia kuin appelsiinit jne.
Qt TAM 1.5mrd laitetta, Flutter paljon pienempi embeddedissä

20 tykkäystä

Se on just näin ja kun puhutaan linuxista, niin niistäkin on, ainakin oman kokemukseni mukaan, tuotantokäytössä about 99% jotain tuettuja distroja kuten RedHat. Se, että OSlle, middlewarelle kehitystyökaluille, yms. saa tukea on yrityksille, jonka liiketoiminta nojaa ko. softaan erittäin tärkeää.

1 tykkäys

Flutter on ollut lähinnä mobiilidevaajien työkalu. Flutter 2 myötä teknologian markkinoidaan olevan markkinoiden laaja-alaisin. Se että Flutter on tunkemassa vasta sulautettuihin järjestelmiin tekee Qt:sta ainakin tällä hetkellä huomattavasti käytetymmän ratkaisun tuolla markkinalla.

With Flutter 2, you can use the same codebase to ship native apps to five operating systems: iOS, Android, Windows, macOS, and Linux; as well as web experiences targeting browsers such as Chrome, Firefox, Safari, or Edge. Flutter can even be embedded in cars, TVs, and smart home appliances, providing the most pervasive and portable experience for an ambient computing world.

Nonetheless, the fact that DART/flutter provides easy-of-coding in cross-platform like HTML/JavaScript, yet provides a highly performant runtime such as C++/Qt, the expansion of DART/flutter into embedded industry including automotive, industrial and medical/healthcare devices are inevitable.

En tiedä luitko aiemmin kun siteerasin muuten KDAB:in kommentin tuosta MCU-puolesta. Heidän mukaansa noille resursseiltaan pienille raudoille löytyy markkinoilta kevyempiä ja parempia ratkaisuja kuin Qt. Tuo selittänee osan esimerkiksi Crank Softwaren vaikuttavasta referenssilistasta. Jakarivertaus toiminee myös Qt:n kohdalla.

11 tykkäystä

KDAB on firma joka suosittelee Open Source versiota Qt:sta asiakkailleen aina jos mahdollista. Ja koska Qt for MCU on täysin eri tuote kuin Qt eikä lähdekoodit ole saatavilla ilman kaupallista lisenssiä, joten on aivan luonnollista että KDAB on sitä mieltä että Qt ei ole hyvä MCU käyttöön (ja ei se sitä olekkaan). Sen sijaan Qt for MCU suhteen saa haastajat kyllä kovan kilpailijan jos rautavaatimuksien ja suorituskyvyn kanssa tehdään vastaavat UI:t ja verrataan.

27 tykkäystä

Inderes voisi järjestää haastattelun, jossa Qt:n tekninen kaveri vastailee tämän ketjun kysymyksiin ?
Kysymykset joko ennakkoon tai livelähetys. Aika paljon ketjun pohdinnat koskevat ohjelmointia.

En ole Qt:llä ohjelmoinut vaikka perusrakenteen ymmärrän ja Dartillakin vain pieniä testejä.
Omasta mielestäni Dart on parannettu JavaScript. Kun JavaScript levisi yleisohjelmointikieleksi, otettiin käyttöön TypeScript tuomaan staattinen tyypitys JS:n

Dartissa on mahdollisuus dynaamiseen ja staattiseen tyypitykseen ja muita parannuksia.

Oman pinnallisen käsitykseni mukaan sulautetuissa Dartissa on kuitenkin samat ongelmat kuin JS:ssä. Dart ei käytä suoraa muistiosoitusta tai muistin varaamista eikä siten aidosti mahdollista laiteläheistä ohjelmointia. Käsittääkseni käännetty koodi (AOT-kääntäjällä tai exe) sisältää aina pienen VM:n jossa mm. roskien keruu.

Kuinka paljon Darttia, JS:ää tai muuta VM:n päällä pyörivää käytetään sulautetuissa ?

17 tykkäystä

En ollutkaan tästä tietoinen. Heidän toimitusjohtajansa Kalle Dalheimer kyllä mainitsi alla olevassa haastattelussa, että suurin osa heidän asiakkaistaan käyttää kaupallisen lisenssin Qt:ta. Siinä suhteessa hieman ristiriitaista tietoa, mutta toisaalta voihan toimitusjohtajilla olla vaikka mitä motiiveja lausuntojensa takana.

16 tykkäystä

Välikommenttina, että Qt:n UI-komponentti eli QML on pitkälti JS-kytköinen :slight_smile:

3 tykkäystä

Mutta nimenomaan Qt:ssa JavaScriptiä käytetään vain UI-kerroksessa.

Käsittääkseni sekä JavaScript että QML käännetään bytekoodiksi, jota kuvan mukainen QML Engine suorittaa ?
QMLQT

Qt:n eduksi Flutteriin voisi ajatella erilliset kerrokset eli QML/JS käyttöliittymäkerros sekä nopea logiikkakerros C++:lla
Flutterissä koko koodi on samaa Darttia, joka vaatii virtuaalikoneen

Dart/Flutter on teknisesti hieman vastaava kuin QML/JS-kerros, joten lähinnä näitä voisi verrata toisiinsa. Kumpi on tehokkaampi ja parempi käyttöliittymäohjelmoinnin kannalta. Joku näitä työkseen koodaava osaisi kertoa.

Lisäksi toki Qt:n etuna mm. mainitut kehitystyökalut puuttuvat Flutterista

3 tykkäystä

Nyt saattaa mennä hieman tai jopa aika paljon oman osaamisalueen ulkopuolelle, mutta käsittääkseni Flutterin framework on Darttia ja sillä käskytetään Flutter engineä joka on täysin c++. Sitten vielä kohdelaite riippuvaiset embedderit ovat kohdealustalle mahdollisimman hyvin sopivaa kieltä.

Tuolta voi viisaammat ihmetellä arkkitehtuuria jos kiinnostaa:

8 tykkäystä

Flutteria en ole käyttänyt, mutta QML on yksi suoraviivaisimmista UI-kielistä mitä olen käyttänyt ja cross-platformia ei tarvitse edes ajatella koodatessa. Se tulee automaattisesti. Syntaksia voisi verrata React-luokkiin, mutta toki eroja on paljon, varsinkin tyylien määrittämisessä. Reactissa perinteinen css, QML:ssä deklaratiivinen UI-komponenttikohtainen konffi - styled componentit ehkä lähimpänä samaa ideaa.

7 tykkäystä

Pientä data miningia viimeisimmästä osakkeenomistajien listasta. Suurimpien listalta ovat pudonneet Chris Sohn (18000 kpl), joka ainakin vielä 2020 on ollut Head of APAC at The Qt Company sekä Yi Kyuhoon Andy (16375 kpl), joka Linkkarin mukaan on Head of Korea, Director Sales at The Qt Company

13 tykkäystä

Reactia olen käyttänyt ja Flutteria hieman kokeillut. QML:ää pitänee testata, syntaksia katsomalla toki saa hieman käsitystä.

Flutteria ja QML:ää voisi verrata toisiinsa. Jos Flutterilla tehdään Qt:n C++:n kaltaista logiikkaa, tehtänee se ilman Flutterin Widgettejä suoraan Dartilla normaaliksi ohjelmiston rakenteeksi luokkineen ja metodeineen

Flutteriä koodataan Dartilla. Se on yksi versio tehdä käyttöliittymiä QML:n, Reactin jne. lisäksi

Flutter on open source, joten C++:lla tehty Darttia pyörittävä Engine on kaikkien saatavilla, mutta en tiedä, onko järkeä normaalissa Flutter kehityksessä muokata engineä.
Embedder on alusta specifinen toteutus, jota voi muokata mutta en tiedä tehdäänkö sitä juuri normaalissa sovelluskehityksessä

4 tykkäystä
61 tykkäystä

Ääni tälle! Olisi erittäin mielenkiintoista, jos teknisiä kysymyksiä avattaisiin sijoittajan näkökulmasta.

4 tykkäystä

Varmasti kannattaa seurata. Sixty FPS:

SixtyFPS is a toolkit to efficiently develop fluid graphical user interfaces for any display: embedded devices and desktop applications. We support multiple programming languages, such as Rust, C++, and JavaScript.

Kuulostaa aika lailla suoralta kilpailijalta Kuutille?

35 tykkäystä

Toki kannattaa ottaa huomioon sekin, että uusia teknologioita/frameworkeja/kirjastoja syntyy tyyliin kerran kuukaudessa. Se on ihan peruskauraa softamaailmassa. Mutta eri asia on aina se, kuinka moni niistä projekteista pääsee suosioon, eikä katoa kaikessa hiljaisuudessa :slight_smile: Ota esimerkiksi Googlen Polymer. Eipä sitä enää kukaan käytä, vaikka taustalla tuollainen mörköfirma.

17 tykkäystä

Froglogic kehittyy kokoajan

17 tykkäystä
8 tykkäystä

93 tykkäystä