Qt 5.0 er ude
Frameworket, der bruges i blandt andet KDE, vlc og en række andre programmer er efter 10 år i version 4 serien, kommet ud i version 5.0.
http://qt-project.org/qt5
(mere vil følge senere)
http://qt-project.org/qt5
(mere vil følge senere)
Kommentarer19
Spændende!
Hvilke nye
Hvilke nye features vil KDE gøre brug af? Og betyder det at KDE også kommer med en 5.0 udgivelse?
KDE 5 har været under
Foreløbig er det kun KDE Frameworks der bliver arbejdet på - alle de overfladiske ting, der er umiddelbart synlige for brugeren, følger først senere når frameworks er på plads.
Men nogle af nøgleordene er modularitet, mindre (ingen?) teknisk forskel på KDE-apps og Qt-apps, endnu mere QML/javascript, bedre grafik og ydelse.
Hvis man er interesseret i hvad de har gang i med KDE Frameworks kan man overveje at se David Faures foredrag fra Akademy:
http://files.kde.org/akademy/2012/videos/KDE_Frameworks_5_for_Applicati…
Stemningen var godt nok lidt speciel dengang - men stadig optimistisk - mens Stephen Elop var i fuld gang med at demontere Nokia og Qt var endnu ikke opkøbt af Digia.
Long term, vil vi kunne se
Brugerne vil kunne se
Jeg ved ikke rigtigt hvad det skulle være for nogle nye features, Qt4 var allerede full-featured, eller Qt3. Ved ikke hvor meget potentiale der findes for radikal, user-visible innovation på framework-niveau - men for udviklere skulle det gerne være en produktivitetsbooster.
#2 Tak for link. Nu fik jeg
#3 Jeg stiller lige et spørgsmål til dig nederest. :)
-------------------------------------------------------
Lad mig lige skrive lidt mere hvad der er sket med Qt 5.
1. Qt 5 er 99% source-kompatibel med Qt 4 (når man fraregner Q3Support)
Dette lyder måske som en selvfølge, men det var det altså altså ikke for 10 år siden da Qt 4 kom, hvor API'et var helt lavet om.
2. QPA (Qt Platform Abstraction) til at nå nye grafiske brugerflader og nye operativsystemer. (der kan læses mere her http://qt-project.org/wiki/Qt-Platform-Abstraction). QPA er også døren til iOS og Android.
3. Rigtig mange optimeringer i koden og indført nogle nye virtuelle funktioner. (Virtuelle funktioner til eksisterende klasser kan kun indføres i major version)
4. Der er gjort rigtig meget ud af Qt Quick 2. Det er ikke noget, som jeg bruger, og det er ikke noget, som KDE pt. bruger. (Det er dog muligt, at de vil bruge det i nye programmer?). Tilgengæld var det der, hvor 99% af fokus var i Nokia-tiden.
Angående QtWidgets (som KDE bruger) er der ikke de voldsomme store nyheder. Der er sket en del små forbedringer, så ved jeg ikke om man kan mærke det i KDE. Jeg har kendskab til en række bug-fixes. (brugeren kan f.eks. ikke længere rykke en træ-struktur. QHeaderView har fået korrigeret drop og selection med bl.a. rykkede kolonner skulle virke nu) - og mange flere.
Som Qt Widgets er Qt 5.1 sandsynligvis lidt mere spændende end Qt 5.0, for det, at Digia har købt Qt fra Nokia har givet Wigets et boost. Aktuelt har Widgets også fået maintainers (1 fra Digia, 1 fra KDAB), men der er sket spændende forbedringer i Qt 5.0, men ikke noget revolutionerende (for KDE). Qt 5 (incl Widgets) har dog fået en mere clean style.
Samtidig forventer jeg at KDE 5.0 på ingen måde får de enorme problemer som KDE 4.0 havde.
Det leder mig så til spørgsmålet, om hvilke features, som du gerne ville se i Qt, der kunne forbedre/revolutionere brugerfladerne i KDE.....
#5Det er altså kun 7 år
Det er altså kun 7 år siden at Qt4 udkom. Du får mig til at føle mig frygtelig gammel hver gang du siger 10 år ;-)
KDE bruger da allerede QtQuick/QML i høj - og voksende grad. Til plasmoids, kwin-scripts og touch-venlige applikationer til Plasma-Active. Der skal nok også komme desktopapplikationer til.
Tak for korrektionen. Jeg
EDIT:
Jeg har dog trods alt skrevet det korrekt her :)
http://www.linuxin.dk/node/19510
+tak for yderligere info.
Du kan få et akademy-link
http://files.kde.org/akademy/2012/videos/The_Window_Manager_Constructio…
Der kan man blandt andet høre hvordan Martin Gräßlin har erstattet en masse c++-kode i KWin med QML (700 linjer c++ erstattet med 200 linjer javascript iirc - nu er det et halvt års tid siden jeg så de videoer, så måske husker jeg ikke tallene helt rigtigt).
Jamen jamen, hvorfor alt det
#9
Mon ikke det er fordi at
Mon ikke det er fordi at JavaScript er mere udbredt og velkendt end fx. Lua?
Jeg er dog ikke enig i din vurdering af det er et horribelt sprog ;)
Mon ikke det er fordi
#10: Jeg er dog ikke enig i din vurdering af det er et horribelt sprog ;)Det har sine fordele ift. skodsprog som Java: Anonyme funktioner og closures.
Men ellers hober det sig op med tåbelige fejl over det hele. Function-scope, this der ved uheld kan binde til det globale objekt, this der ikke er direkte tilgængeligt i anonyme funktioner, semikolon insertion der går i vejen, utilsigtede konversioner ved binære operatore, underlige false-værdier, ingen tail-call optimering, ingen namespaces, enormt spartansk standard bibliotek, elendig objektarvningssyntak og andre ting jeg ikke kan komme i tanke om lige nu.
JavaScript er primært lavet på et par uge og det skinner igennem. Hvis du kører JSLint kan du nok arbejde dig uden om alt skidtet, og det kan man blive nød til, hvis man koder webapplikationer. Men skal jeg skrive en desktop applikation, hvor jeg kan vælge mellem mange sprog, ville jeg løbe skriende væk fra JavaScript.
At Lua ikke er velkendt er da et overkommeligt problem. Det er et konventionelt sprog, og er således super let at lære. Og GNOME har enda haft sucess med, at lave deres helt eget sprog, og Lua er overvejende velset af dem der kender det.
#11
Jeg vil slet ikke ind i
Jeg vil slet ikke ind i den debat :). Der kan være gode tekniske grunde til at bruge noget andet end java-script. Tilgengæld er det valgt på baggrund af udbredelse og perspektivet i javaScript er unægtelig interessant, når man tænker på at det er det som browsere brugere. Måske kan der laves noget simpelt sandboxing af QtQuick, så det kunne afvikles i browseren. Den slags vil man ikke kunne opnå, hvis man brugte noget helt nyt/andet...
Når det så er sagt, så sværger jeg umiddelbart selv til c++ +/widgets :)
@Paldepind.
Javascript er da
Javascript er da det naturlige valg grundet udbredelsen, og de områder det blive brugt på (som #12 også nævner).
At du på 2 linjer udråber java til et skod sprog, i en tråd omhandlende Qt uden der rigtigt er nogen sammenhæng synes jeg virker lidt mystisk. Man kan næsten ikke svarer på dit indlæg uden at kører tråden helt af sporet (ikke at jeg har tænkt mig at gøre det alligevel).
At du på 2 linjer
Webudviklere skriver i JavaScript, fordi at de er tvungede til det, ikke fordi at JavaScript er et fedt sprog. På desktoppen har man rendt faktisk et valg, og hvorfor skulle man vælge JavaScript?
Men jeg forstår da godt motivationen. Mange syntes ikke at C++ er det fedeste sprog, og Qt har brug for noget mere dynamisk, der kan trække folk til. JavaScript er den lette løsning, men efter min mening er det ikke ambitiøst nok.
På desktoppen har man
Det er en trend at udvide brugen af JavaScript til alle mulige andre steder end i en browser, Qt er langt fra de eneste der har gjort dette, GNOME Shell har en JS-engine, Microsoft har mig bekendt også fremmet JS i metro osv. osv.
Der er et kæmpe community omkring JavaScript, hvis du fx. kigger på Nodejs, er der pt. 19.843 pakker i NPMs repository.
Som følger af JSs udbredelse i browseren og det store forøgelse i JS-tunge sider, så er det helt naturligt at man vælger et sprog, der på den måde næsten er blevet universelt.
Derudover så er JS efter min mening et rart sprog at arbejde med og mange af de problemer du nævnte før er løst ved at køre i strict mode, samt at de fleste JS-engines efterhånden performer ret pænt.
Hvorfor skulle man vælge et ikke-særligt udbredt sprog, når man kan vælge et sprog, der allerede har en stor brugerskare og som er nemt at gå til?
Det ville efter min mening have givet meget lidt mening, at have valgt fx. Lua.
Jeg kan ikke se, hvad der er uambitiøst ved at vælge JS, jeg synes det er et glimrende valg.
Sammenhængen ligger da
Nej jeg kan stadig ikke se sammenhængen til Java. Jeg kan se den tydelige grund til at snakke om javascript, men det jeg opponerede mod, var at du lige skulle hive Java med en ind i debatten, uden andet formål end at svine det til.
Det er en trend at
#15: Der er et kæmpe community omkring JavaScript, hvis du fx. kigger på Nodejs, er der pt. 19.843 pakker i NPMs repository.Helt bestemt. JavaScript fællesskabet er meget aktivt. Men det er et fællesskab centreret om webudvikling. Hvorfor skulle de have interesse i at bruge Qt?
#15: Derudover så er JS efter min mening et rart sprog at arbejde med og mange af de problemer du nævnte før er løst ved at køre i strict mode, samt at de fleste JS-engines efterhånden performer ret pænt.Den må du lige uddybe. Så vidt jeg er orienteret, er det kun problemet omkring this, der er blevet løst med JavaScript Strict. Ydelse er ikke så relevant her.
#15: Hvorfor skulle man vælge et ikke-særligt udbredt sprog, når man kan vælge et sprog, der allerede har en stor brugerskare og som er nemt at gå til?Fordi at JavaScript er dårligt? Og Lua er skam også nemt at gå til.
#15: Jeg kan ikke se, hvad der er uambitiøst ved at vælge JS, jeg synes det er et glimrende valg.Det uambitiøse er, at man tager det populære valg men samtidig udelukker sig fra bedre sprog.
Men fair nok. Hvis at man som dig finder JavaScript rart at bruge, så er det ikke noget problem. Men jeg ville helst være fri.
#16: Nej jeg kan stadig ikke se sammenhængen til Java. Jeg kan se den tydelige grund til at snakke om javascript, men det jeg opponerede mod, var at du lige skulle hive Java med en ind i debatten, uden andet formål end at svine det til.Så misforstod jeg dig. Java var bare et eksempel, på et sprog uden anonyme funktioner og closures. Hvis du godt kan lide Java, så beklager jeg, at jeg kaldte det et skodsprog.
Ja, det er det
Det er en god ting(tm).
#17: Men det er et fællesskab centreret om webudvikling.
Det er langt fra alle pakkerne i NPM der fokusere på web udvikling. Node js er ikke bare en webserver, selvom den ofte bruges til at starte en.
#17: Så vidt jeg er orienteret, er det kun problemet omkring this, der er blevet løst med JavaScript Strict.
Sorry, du nævnte kun this problemet som er løst af strict-mode, men det er ikke de eneste ting som det ændre på.
- This problemet er løst,
- tåbelige ting som with (obj) er fjernet,
- erklæring af variabler uden var giver en reference-fejl, i stedet for at blive erklæret i global-scope,
- man kan ikke længere redefinere ting som NaN,
- man kan ikke slette ikke-sletbare properties.
- man kan ikke bruge reserverede navne som variabler.
- eval er blevet lidt sikrer (bør stadig undgås)
https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Functions…
Med ECMAScript 5, har JavaScript gået nogle hårdt tiltrængte features, altså udover "strict mode" såsom at låse properties og objekter, man har fået mulighed for at lave setter og getter for properties på objekter.
Jeg håber da at Qt5s JavaScript engine er ES5 kompatibelt, men da bruger Googles V8 så antager jeg den er. :)
#17: Fordi at JavaScript er dårligt?
JavaScript er ikke så dårligt som dets ry siger.
Det har sine særheder og ting der ærligtalt kunne være bedre eller som slet ikke burde være der, men det er ikke et dårligt sprog igen.
Du kunne prøve at læse "JavaScript: The Good Parts" eller se hans foredrag http://www.youtube.com/watch?v=hQVTIJBZook
#17: Og Lua er skam også nemt at gå til.
Jeg kender ikke Lua, så det skal jeg ikke kunne kommentere på. :)
Men skift af sprog er bare endnu en forhindring som folk skal overkomme, så kan det godt være at det ikke er et problem for os, men for andre er det.
#17: Det uambitiøse er, at man tager det populære valg men samtidig udelukker sig fra bedre sprog.
Helt uenig.
Man kan ikke gøre alle tilfredse, hvis de havde valgt Lua, så var der bare nogen som blev forargede over de ikke valgte JavaScript eller Python eller Perl eller Dart eller PHP eller osv. osv.
Sorry, du nævnte kun
#18: Det er langt fra alle pakkerne i NPM der fokusere på web udvikling. Node js er ikke bare en webserver, selvom den ofte bruges til at starte en.Så vidt jeg ved, er langt de fleste pakker med fokus på webudvikling enten indirekte eller direkte. Og det ændrer ikke på at JavaScript fællesskabet er centreret omkring webudvikling. Jeg tror ikke at Qt får meget success med at appellere til dem, i hvert fald ikke på desktoppen. Men mobil er sikkert også det primære fokus.
#18: JavaScript er ikke så dårligt som dets ry siger.Jeg syntes faktisk, at mange virker til at være overbegejstrede over JavaScript pt. Det ses når folk pludselig syntes, at det er fedt at have JavaScript server side og bruge det til desktop prorammering.
#18: Du kunne prøve at læse "JavaScript: The Good Parts" eller se hans foredrag http://www.youtube.com/watch?v=hQVTIJBZookJeg har læst bogen. Og Crockford mener netop også, at JavaScript er et meget uhensigtsmæssigt sprog. Han nævner closures og anonyme funktioner som gode egenskaber ved JavaScript. Da JavaScript kom frem, var det fremskridt i forhold til datidens populære sprog som C/C++ og Java. Men i dag findes der mange andre sprog med disse egenskaber, samt en hel masse andre behagelige funktioner som JavaScript udviklere må leve uden.
Som jeg forstår ham, så er budskabet, at JavaScript er et sprog der kan tolereres hvis man træder varsomt. Og det lyder da ikke som et ret godt sprog. Hvorfor ikke bruge et gennemtænkt veldesignet sprog uden bad parts?
#18: Man kan ikke gøre alle tilfredse, hvis de havde valgt Lua, så var der bare nogen som blev forargede over de ikke valgte JavaScript eller Python eller Perl eller Dart eller PHP eller osv. osv.Det handler heller ikke om at gøre folk tilfredse. Det handler om, at vælge det teknisk beste sprog, og det er sjældent et udviklet på 2 uger af en gut, der hellere ville skrive en Scheme fortolker.