Wystartował Qt-Project.org

Odkąd pamiętam, Qt było otwartym oprogramowaniem. Qt zaś jako projekt był zaskakująco otwarty w porównaniu ze średnią w branży oprogramowania. Od piątku nazwa Qt oznacza też otwarty projekt, który w myśli zasadom open governance ma być oparty na merytorycznej wartości konkretnych kontrybucji, a nie przynależności do danej organizacji czy firmy.

Do publicznego repozytorium git dostępnego już 2,5 roku temu dołączył teraz system śledzenia błędów, system przeglądu (oceny) kodu źródłowego oraz listy mailowe. Narzędzia te zostały przeniesione poza wewnętrzne struktury Nokii (niektóre strony znajdują się jeszcze w domenie nokia.com). Sformułowano klarowne wytyczne rozwoju projektu, a zasady kontrybucji otrzymały ramy prawne, na czele z rozszerzeniem umowy z KDE Free Qt Foundation.

Przygotowania do tak gruntownych zmian trwały od ponad roku a planowane były jeszcze wcześniej. Trudno zarzucić więc, że wynikają one z aliansu Nokii z Microsoftem. Były skomplikowane do zaplanowania i wykonania, co nie jest zaskoczeniem gdy weźmie się pod uwagę rozmach projektu (jest Qt ale jest też Qt Creator, SDK) i mnogość zainteresowanych nim stron.

Okazuje się zatem, że nowa strona http://qt-project.org nie jest po prostu wizytówką firmy Nokia. Aspektów, które świadczą o otwartości projektu Qt jest sporo. Zanim odeślę na stronę projektu tutaj przytoczę tylko jeden punkt. Rzut oka na schemat osób zarządzających modułami Qt 4 i Qt 5 pokazuje, że od pierwszego dnia życia projektu w nowej formule zarządzający, skądinąd znajomi z branży, niekoniecznie pracują dla Nokii.

I tak, QtCore, czyli moduł którego używają wszyscy programiści Qt, jest pod opieką Thiago Macieiry – spoza Nokii. Był on przez dość długi czas zarządcą wydań Qt serii 4, obecnie pracuje w Intelu ale Qt zajmuje się prywatnie i jest został maintainerem modułu QtDBus. W grupie jest też David Faure, weteran KDE (opiekujący się modułem Qt3Support dla Qt4) oraz John Layt (też KDE), który ma w opiece system drukowania QPrinter.

Udział w projekcie Qt to nie tylko opieka nad istniejącym kodem, może nim też być dostarczanie nowych elementów wzbogacających całość. Decydować mają względy merytoryczne. David planuje udostępnić klasy bazy danych mime, przez co wreszcie Qt będzie „znało” typy plików bez korzystania z dodatkowego kodu i to w sposób przenośny, czyli taki jak najbardziej lubimy ;). John będący specjalistą od niezwykle skomplikowanego świata systemów kalendarzy ma w przygotowaniu obsługę tychże w Qt.

Regułą staje się też to, że jeśli dane funkcje dodawane do Qt znajdują się w bibliotekach KDE, zostaną z KDE usunięte jako nadmiarowe. To, że napisałem o dwóch osobach z KDE nie oznacza, że KDE przemuje rozwój Qt. To, że jako jedne z pierwszych stały się one opiekunami modułów Qt jest spowodowane bliskimi relacjami obu projektów na poziomie technicznym jak i organizacyjnym.

Otwarte zasady naboru dotyczą też maintainerów Qt Creatora co jest kolejnym miłym zaskoczeniem.

A oto schemat organizacyjny zespołu opiekującego się Qt:

żadnych reklam, sama wiedza.

Zarejestruj się na BEZPŁATNY NEWSLETTER i raz w tygodniu otrzymuj najważniejsze wiadmości
ze świata IT, nowych technologii i kryptowalut.

Bez reklam.

46 odpowiedzi na „Wystartował Qt-Project.org”
  1. Awatar lucas
    lucas

    Ja bym jednak dołączył Thiago do pozostałej dwójki ludzi z KDE, chyba, że końcówka maila kończąca się na "at kde.org" i blog na planecie KDE to zbieg okoliczności :).

    1. Awatar jstaniek
      jstaniek

      Dopiero staje się to prawdą, może będzie bardziej kontrybuował do Qt niejako w ramach KDE (bo fundacja opera się na tym filarze), a pewnie mniej w ramach obecnego pracodawcy, Intela. Taka forma kontrybucji osoby tak zasłużonej dla wydań Qt 4 i pomysłodawcy samego Qt Open Governance (!) pewnie znakomicie podniesie wartość inicjatywy w oczach innych.

      Na planecie KDE blogi są osób pracujących nie tylko nad KDE, są np. osób z openSUSE.

  2. Awatar Nomen
    Nomen

    "Odkąd pamiętam, Qt było otwartym oprogramowaniem. "
    Ja pamiętam, że z Qt od początku był ten problem, że było to oprogramowanie własnościowe, dopóki Trolltech nie zmienił licencji (jakoś tak w 2000 czy 2005 r.).

    1. Awatar jstaniek
      jstaniek

      Odkąd pamiętam == 1998 (pozdrawiam mojego promotora u którego napisałem wtedy z kolegami pierwszy większy program w Qt: grę Lemingi 😉 http://en.wikipedia.org/wiki/Qt_%28framework%29#L…

      Zresztą wg mnie samego KDE by nie było w znanym kształcie bez głębokiego przekonania twórców jak i dostarczenia zabezpieczeń prawnych (KDE Free Qt Foundation) w celu zapewnienia ciągłej dostępności. Zysk był i jest ogromy – hobbyści KDE nie musieli zajmować się frameworkiem czy narzędziami (w odróżnieniu od konkurencji GTK+/GNOME, o innych nawet nie wspomnę), a stworzyli cztery wydania desktopu i setki aplikacji. Teraz wiele osób chce dodać coś od siebie też do Qt, m.in. z tego powodu, że czują się 'obdarowani'.

      Malkontentów mówiących, że dało się lepiej poproszę o przykłady (istniejącej, proszę, nie SUN!) firmy, najlepiej przez nich założonej, która lepiej rozgrywa sprawy licencyjne, stworzyła społeczność i jeszcze zarabia.

      1. Awatar pijaczek
        pijaczek

        @jstaniek: Qt było otwarte na niektórych platformach (jednak niekompatybilne z GPL), a na MacOS czy Windows było długo tylko zamknięte. Z powodu tej niekompatybilności z GPL powstało Gnome (jednak w między czasie Qt przeszło na podwójne licencjonowanie czyli zamknięte komercyjne i GPL, które dopiero niedawno połączyły się dzięki zmianie na LGPL). Co do Gnome to oni też nie bazowali na niczym i nie robili wszystkiego od początku – GTK istniał przed Gnome i sama nazwa GTK oznacza tyle co Gimp Toolkit i została stworzona dla Gimpa, a później tylko wykorzystana przy tworzeniu "otwartej" bo całkowicie zgodnej z GPL alternatywy dla KDE

        1. Awatar jarek
          jarek

          Swoja droga pamietam GIMPa na jakims archaicznym toolkicie, chyba XForms, zanim zaczeli klepac GTK.

        2. Awatar jstaniek
          jstaniek

          'na MacOS czy Windows było długo tylko zamknięte'

          Ależ to niektórzy promotorzy Linuksa uważali za zaletę. Za wersje programów na Windows dostawało się coś więcej i bardziej materialnego niż poklepywanie po ramieniu lub pouczanie z w komentarzach 😉

          1. Awatar jellonek
            jellonek

            co nie zmienia faktu ze nie bylo to w pelni otwarte oprogramowanie 😉
            nie bez powodu gnome, ktoro startowalo nieco pozniej niz kde, poszlo w gtk, bedace od poczatku na lgpl.

            sam wiesz ze trolltechowcy tez nie bez powodu poszli po rozum do glowy i sie zrelicencjonowali po latach 😉

          2. Awatar jstaniek
            jstaniek

            ???

            Wersja GPL na windowsa była, sam używałem i kontrybuowałem. To był port z Linux/X11.
            Qt jest i było częścią specyfikacji Linux Standard Base w Linux Foundation.
            Wersji GPL (a teraz LGPL) mogłeś używać na dowolnym systemie, licencja nie mogła Cię ograniczać bo w przeciwnym wypdaku nie byłoby to (L)GPL.

            Idąc tym tokiem rozumowania jakiś inny toolkit "A" też nie jest w pełni otwarty, jeśli nie ma go na LGPL na jakiejś tam wersji solarisa, a GNOME wg zapowiedzi nie będzie na już na FreeBSD a może i nawet w dystrybucjach Linuksa (po pojawieniu się GNOME OS).

            Trolltechowcy nigdy by nie zmienili licencji na LGPL. Nokia to zrobiła gdyż wartością Qt był (a może i jest) aspekt platformowy Qt a nie aspekt jako produktu. Przychody z Qt nie były tak duże dla takiego gracza. Teraz jednak dla Digii sie liczą. To są fakty.

            Nie utożsamiajmy istnienia alternatywnej licencji (dualnej) z ograniczeniami licencyjnymi w wersji GPL/LGPL – to jest technicznie to samo oprogramowanie. Nie ma żadnych, bo to są osobne produkty i tyle. Jak SLES i openSUSE.

            Poza tym nie dyskutowałbym o otwartości (w sensie promowanym przez FSF) gdy wiadomo, że GPL ma wg FSF przewagę nad LGPL szczególnie taką, że powoduje powstawanie programów na GPL, a LGPL – nie przeciwdziała powstawaniu programów zamkniętych. To jest znana hipokryzja w sporze GTK+ – Qt: wysuwany argument o otwartości LGPL na zaszyte założenie, że chodzi o ułatwienie tworzenia programów zamkniętych dla zamkniętych platform. Ja nie popieram takiego podejścia ale też nie używam gdy mi wygodnie argumentów jednej strony a kiedy indziej – drugiej.
            Jasne, że Qt na LGPL walnie przyczyniło się popularyzacji Qt, jest już ponoć blisko 500k programistów wg wewnętrznych badań z 2010 i to nie może nie sprzyjać też wolnemu oprogramowaniu, ale dla wielu LGPL to po prostu freeware bo liczy się dla nich cena, nie oszukujmy się. Dotyczy więc to też GTK+ na LGPL.
            Od stycznia 2009 już oba toolkity są na LGPL więc proponuje by porównywanie przenieść na poziom techniczny by dojść do jakichś merytorycznych wniosków.

          3. Awatar jellonek
            jellonek

            chodzilo mi o poczatki KDE. pisalismy o czasach obecnie juz zamierzchlych (gdy byly wybierane frameworki pod linuksowe desktop environment).
            ztcp windowsowa wersja byla na http://en.wikipedia.org/wiki/Q_Public_License, a dopiero po jakimstam czasie pojawil sie GPLowy port z X11 na winde, ale pozniej i nie wiem jak z jego kompletnoscia – na pewno masz tu zdecydowanie wieksza wiedze.

            ale faktycznie nie ma co tu o licencjach dyskutowac, bo jeszcze przyjdzie jakis trasz od BSD i bedzie nawijal jaki to GPL/LGPL jest niewolny 😉

            plusem odwiecznym bibliotek w kolo glib/gobject byl zastosowany jezyk – jak i latwosc bindowania sie z wszelakimi jezykami skryptowymi, pod ktorymi po prostu efektywniej sie koduje.
            minusem qt bylo odstepstwo od standardow – chodzi zarowno o uzywanie wlasnych template/qstringow itd, jak i o .moc
            tego typu podejscie kiedys po prostu bylo niemile widziane, choc w tej chwili malo kto juz na to zwraca uwage…

          4. Awatar jstaniek
            jstaniek

            Biblioteka standardowa nie była standardem a teraz gdy jest to jak to mówią: za późno, za mało. Wydajny unicode string przez tyle lat niedostępny w C++. Boost zbyt hakerski dla wielu i generuje zabujczo duże binarki. Qt MOC jest narzedziem z rodziny generatorów do których przekonali się ludzi z GNOME również: patrz język vala. Po prostu programowanie wyżej poziomowe.
            Co do wydajności bindings to nie jest takie oczywiste. C++ ma siłę wyrazu którą by 'emulować' w C płaci się koszt wydajności. Łatwość bindowania zapewnia się dedykowanymi narzędziami, przodującym jest Smoke. Samoograniczanie się do C ma tylko wtedy sens gdy ktoś planuje bindings robić ręcznie, ale myślałem że takie pomysły już na wolności się nie zdarzają. Niskopozimowych typów danych danego też się nie podpina do Qt w celu używania ich we frameworku zamiast QString (np. używa się python string gdzie się da w programach w PyQt czy PySide i z rzadka konwertuje), więc koszt 2 więcej wywołań się nie liczy bo obiekty w bindingsach to są grube klocki z których budujesz program, jak widżet czy bitmapa.
            Co do modelu obiektowego, GObject i QtCore mają b. podobne i jest już przygotowana interakcja w formie wspólnej introspekcji Qt-GObject (wspólne prace teamów Qt/GTK na QtCS i Desktop Summit). Jak masz taki model obiektu to bindings bez generowania się otrzymuje dzięki introspekcji, np. w QtScript – w dosłownie jednej linijce kodu.

          5. Awatar jellonek
            jellonek

            co predkosci wprowadzania nowego standardu/libow c++ nie bede wspominal. przemilcze go bardzo glucha cisza 😉
            vala a moc to takie nieco ciezkie porownanie 😉 vale bym predzej porownal do http://cito.sourceforge.net/ 😉
            co do boosta – fakt, dopiero od kilku lat ludzie sie do niego przekonuja.

            nie chodzilo mi o wydajnosc bindingow a o ich latwa dostepnosc. powiedzmy sobie szczerze – dawniej uzywane swig czy sip to dno i kupa mulu 😉 smoke o ile mi wiadomo jest nieporownywalnie lepszym projektem, ale znacznie mlodszym dostepnym od calkiem niedawna. ztc mi wiadomo bardzo dobrym p. odniesienia z swiata glib/gobject jest gnome-introspection, ale tu bindingi masz jeszcze lepsze – bo nawet nie musisz ich kompilowac, tj. rozwiazywanie klas/metod nastepuje tu w trakcie runtime na podstawie pliku typu .xml (chodzi o gir, gnome introspection repository) co wydawalo sie byc wolnym… poki sie nie sprobuje 😉

            o qt-gobject introspection nie wiedzialem i wielkie dzieki za naprowadzenie. az sie rozmarzylem co do bindingow qt ladowanych w locie, modyfikacja glupiego xml, bez koniecznosci przekompilowywania, po dodaniu do wlasnych klas jakichs kolejnych metod 😉

          6. Awatar jstaniek
            jstaniek

            W Qt Object Model jest introspekcja/refleksja wołanie po nazwie, zapytaie o listę metod, właściwości, sygnałów, slotów), więc nie trzeba żadnego XML-a, np. dla javascriptu http://doc.qt.nokia.com/latest/qscriptengine.html… dla javascript i analogiczne dla pythona i dowolnego języka w którym metody QObject-a zostały wystawione publicznie.

          7. Awatar jellonek
            jellonek

            Czyli nie ma problemow z namemangling?
            No ok, to chyba nie jest miejsce na tego typu dyskusje – doczytam juz we wlasnym zakresie 🙂

          8. Awatar pijaczek
            pijaczek

            @jellonek: Co do boosta to jest on w powszechnym użyciu od bardzo, bardzo dawna (od pierwszego wydania jest traktowana jako nieoficjalne rozszerzenie C++), ale ze względu na to, że nie jest częścią standardu niektórzy po latach dowiadują się o jego istnieniu (oraz o tym, że praktycznie każdy nawet średniej wielkości projekt go wykorzystuje), a teraz wręcz się z niego ludzie wycofują (tzn nie tyle wycofują, co nie potrzebują go nowe projekty tak bardzo, ze względu na to, że korzystają już z C++11 który wiele rzeczy z Boost wchłonął).

          9. Awatar Dezyderat
            Dezyderat

            Ja bym tutaj nie-używania boosta nie zrzucał na niewiedzę, a na to, że na prawdę nie jest łatwo z niego skorzystać. Ja np. w wyniku doświadczenia całkowicie odrzuciłem te fragmenty boost, które nie są header-only – zbyt mocno się to zmienia i np. program skompilowany na Debianie 4.0 zlinkowany z boost_regex, nie uruchomi się na Debianie 6.0 (na 5.0 pewnie też nie).

            Spośród tych header-only niektóre są użyteczne (ale też jest ryzyko, że za rok zmieni się API), a niektóre, chociaż na pierwszy rzut oka wydają się fajne, generują nadzwyczajne rozmiary komunikatów o błędach. Ich analiza podczas tworzenia/modyfikacji programu trwa, więc ostatecznie mniej kosztowne jest użycie czegoś innego.

            Dodatkowo część bibliotek boost wygląda na typowo naukowe eksperymenty, co się da zrobić z wykorzystaniem szablonów. Przerost formy nad treścią. Używanie tego to tylko niepotrzebne utrudnianie sobie zadania.

            Podsumowując: wg mnie te rzeczy, które są w boost a nie trafiły do oficjalnego standardu, nadają się tylko do poeksperymentowania z nimi, ale tworząc program w jakimś innym niż eksperyment celu – lepiej ich unikać.

          10. Awatar pijaczek
            pijaczek

            @Dezyderat: nie rozumiem jaki masz problem z dostarczeniem bibliotek do programu (katalog lib zrób w /usr/share/PROGRAM lub bezpośrednio w programie i ustaw LD_LIBRARY_PATH (tak jak każdy cywilizowany program rozprowadzany binarnie robi), lub zbuduj sobie biblioteki statyczne z boosta) – Wtedy nie obchodzi Cię ani dystrybucja, ani tym bardziej jej wersja i wersja zainstalowanych bibliotek.

            Boost bardzo ułatwia wszystko – jest tylko jedno ale… trzeba potrafić go wykorzystać.

            Co do standardu C++ to tu nie ma żadnego "wg mnie", bo standard już mamy i praktycznie wszystko co nowe wchłonął z Boost, a zmian jest sporo (ofc większość nie pozna nigdy C++11, bo nie przebrną przez naukę).

          11. Awatar Dezyderat
            Dezyderat

            Oczywiście da się zrobić tak jak proponujesz, ale w przypadku wielu innych bibliotek tego dodatkowego kroku wykonywać nie trzeba. Dlatego wybieram te inne, z którymi jest mniej pracy.

            W zastosowaniach, z którymi miałem do czynienia, linkowanie statyczne byłoby raczej kłopotliwe, bo programy były raz na jakiś czas aktualizowane np. przez GPRS i ograniczanie ich rozmiaru było istotne.

            Nie jestem też wcale przekonany, że Boost tak wiele ułatwia (poza kilkoma funkcjonalnościami spośród tych które weszły do TR1 i dostaję je z GCC). Zwykle daje się znaleźć dla nich alternatywy (np. zamiast boost::regex jest w systemach POSIX-owych plik regex.h), które wprawdzie są bliższe stylowi C niż C++, ale nie oznacza to że gorsze, czy wyraźnie trudniejsze w użyciu.

            Jeśli chodzi o to, czy C++11 wchłonął z Boost, czy skąd inąd – wiele tych rzeczy istniało równolegle także w innych bibliotekach niż Boost. Faktem jest, że w Boost bibliotek jest mnóstwo, a tylko niewielka część z nich nadaje się do dodania w kolejnych wersjach standardu.

            Co do "trzeba potrafić go wykorzystać": trzeba także poznać alternatywy i wtedy porównać, co wydaje się lepsze. Ja nie potępiam Boost w ciemno.

            Jako dygresję wspomnę o dyskusjach na temat użycia w pracy wątków (których jestem przeciwnikiem w tamtych zastosowaniach): też niektórzy mówili, że są dobre, tylko trzeba umieć je wykorzystać. Problem polegał na tym, że nie umieli dobrze wykorzystać select/poll, socketów, potoków i zegarów – i nie widzieli dla wątków prostszej alternatywy. Wątki są "modne", stąd wszyscy chcą tego używać. Boost też jest "modny", więc próbuje się go wykorzystywać bardziej niż jest to opłacalne.

          12. Awatar jojo
            jojo

            A co mógłbyś polecić czytelnikom osnews jako zamiennik dla boosta (bo z tego co zrozumiałem porzuciłeś boosta na rzecz innych rozwiązań)?

            ps. Co do boosta mam mieszane uczucia, z jednej strony wiele daje, a z drugiej wydaje się, że niektóre biblioteki są po prostu przekombinowane. Może niektóre rzeczy z boosta nie jest łatwo użyć, ale chyba lepiej jest użyć gotowego komponentu zamiast wywarzać otwarte drzwi pisząc swój odpowiednik…

          13. Awatar Dezyderat
            Dezyderat

            Nie da się wymienić konkretnego zamiennika dla Boosta, bo to przecież zbiór niekoniecznie ze sobą powiązanych bibliotek.

            Jeśli biblioteki opakowują jakieś wywołania systemowe, wygodniej po prostu użyć tych wywołań bezpośrednio (dotyczy np. Asio i Filesystem). Obsługa regex-ów też jest w POSIX.

            Próbowałem też kiedyś użyć GIL – niezły przerost formy nad treścią – ostatecznie skorzystałem z bibliotek imagemagick.

            Natomiast jeśli coś jest header-only, i w przypadku błędnego użycia nie generuje kilku ekranów komunikatów o błędach, to można użyć. Ja z boost czasem używam crc i object_pool. Zaskakująco niemiły jest za to np. bimap – wydawałoby się, że niespecjalnie zawiła biblioteka i powinna być zrobiona normalnie, ale jak zobaczyłem kilka ekranów komunikatu o błędzie, gdy chciałem do bimap włożyć dane w dokładnie taki sam sposób, jak wkładam do std::map, to trochę przekroczyło moje granice tolerancji… W tym przypadku zastępcy jednak nie mam, tylko po prostu rozwiązuję problemy bez użycia bimap.

          14. Awatar mikolajs
            mikolajs

            "minusem qt bylo odstepstwo od standardow – chodzi zarowno o uzywanie wlasnych template/qstringow"
            Biblioteka Qt dostarcza to czego brakuje bibliotece standardowej. Bez Qt nie chciałby mi się programować w C++ wolałbym używać Javy gdzie jest mnóstwo gotowych bibliotek w standardzie. Dodatkowo sama zajmuje się zarządzaniem pamięcią (dynamicznie stworzonymi obiektami dziedziczonymi z QObject). A to że przez to mamy magiczne działania kompilatora moc i tracimy możliwość ingerencji w główną pętle, to niestety koszt.

          15. Awatar jstaniek
            jstaniek

            Mamy łatwą ingerencję w główną pętlę – patrz QEventLoop. MOC generuje trochę kodu dla każdej klasy – nie obiektu. Wołanie sygnału/slotu to koszt (hash) kilkunastu wołań normalnej metody – nic w porównaniu do kosztu np. narysowania punktu na ekranie czy odebraniu zdarzenia kliknięcia myszą.

  3. Awatar yoda
    yoda

    No i bardzo dobrze, jasny plan rozwoju, Nokia tego nie zdoła już pociągnąć za sobą na dno, Qt w rękach społeczności open-source, KDE odchudzi biblioteki + zaciśnie współpracę z Qt. Póki co sprawa wygląda obiecująco.

  4. Awatar Wizard
    Wizard

    Mam nadzieję, że teraz rozwój Qt skupi się na platformie, na której się rozwinął, czyli X11, a inne, niemal hobbystyczne implementacje, sądząć po jakości (np. symbian) pójdą w niepamięć. Liczę również, że pseudo projekty związane z Qt, jak meego, umrą i zostawią pole dla Plasma Active i KDE

    1. Awatar jstaniek
      jstaniek

      Nie za bardzo kojarzysz co jest czym. Plasma Active to nie system operacyjny, więc jak meego/mer umarło by to Plasma active nie miałaby na czym być uruchamiana. MeeGo lub inne platformy są przez ią używane http://community.kde.org/Plasma/Active/Installati… Plasma Active to nawet nie osobne GUI a warstwa nad bibliotekami Plasmy.

      A Qt na Symbianie zadziwia wydajnością jak dla mnie, to oprócz portu na Windows Mobile przykład dobrej przenośności Qt.

    2. Awatar pijaczek
      pijaczek

      @Wizard: Qt rozwinął się na X11? Z tego co wiem to od pierwszej wersji rozwijał się na Windowsa i najlepsze i najpopularniejsze programy wykorzystujące Qt są pisane pod Windowsa (Autodesk Maya, Lightwave, RealFlow, Maxwell Render, Mathematica, produkty The Foundry, Gadu-Gadu, Skype, Adobe Photoshop Album…), więc chyba nie myślisz, że ktokolwiek będzie się skupiał na wersji X11, której nawet pod Linuksem nikt nie chce (powstaje port na Wayland, który zastąpi X11).
      Co do implementacji dla Symbiana to nie była ona z pewnością hobbistyczna, tylko bardzo dobra praca Nokii. Ja osobiście liczę na dobry (nie taki jak http://code.google.com/p/android-lighthouse/) port dla Androida, dzięki któremu będzie łatwiej konkurować z Windowsem 8, tabletom z Androidem.

    3. Awatar jstaniek
      jstaniek

      Każdy port Qt dodawał coś od siebie i dopełniał Qt. Nawet Windows Mobile (wymagania pamięciowe i wydajnościowe były tam ostre, skromniejsza obsługa wątków). Nawet "głupie" stringi czy refcounting optymalizowano wielokrotnie z myślą o procesorach mobilnych, to chyba nie powinno iść w niepamięć? Po prostu trudności na danej platformie powodowały, że optymalizowana jądro kodu w Qt bardziej niż to potrzebne np. na desktopie. Qt/Symian – z tego portu przecież wykluł się świetny Qt Mobility po tym jak maemo 6 się opóźniło, to podstawowa kontrybucja Nokii do Qt obok Qt Creatora, Qt WebKit i Qt Quick (QML). Po tym dopiero MeeGo/Mer mogło być tym czym jest pod względem API użytkownika (abstrahuję od tematu zarzuconej produkcji telefonów ale warto śledzić newsy w trzecim kwartale). Wcześniej na maemo Nokia straciła lata z EFL/GTK+ (także przez fatalną jakość współpracy Nokii ze społecznością GTK+, wina po stronie Nokii ale czy tylko – nie wiem) i dopiero po wydaniu 150m$ za Trolltecha obok Qt pojawiły się API mobilne o tym samym 'smaku' co Qt, ale N900 się na to nie załapała.

  5. Awatar Tomasz Woźniak
    Tomasz Woźniak

    Z czystej ciekawości- ile firm jest zainteresowanych rozwojem Qt? To zdaje się jest klucz do odpowiedzi co czeka platformę.

    Osobiście mam odczucie, że wszytko fajnie, ale tak o parę lat za późno.

    1. Awatar jstaniek
      jstaniek

      Wewnętrzne badania podają: ponad 500 tys. programistów z setek różnych branż: http://qt.nokia.com/qt-in-use/ 🙂 Wczoraj na Dev Days zabrakło miejsca w dużej sali i trzeba było zmienić na jeszcze większą. http://qt.nokia.com/qtdevdays2011
      Większość najważniejszych partnerów jest zainteresowania uczestnictwem w rozwoju, a raczej już w nim uczestniczy bo na bugtrackerze widać jak od lat podsyłają patche. Teraz kilka z nich jest już maintainerami części Qt. Po prostu to ich biznes i chcą mieć wpływ na ważne dla nich decyzje, jest pełno firm uzależnionych od istnienia Qt – http://qt.nokia.com/partners/partner-locator. Od 2008 w dobie zachłystania się HTML5 i przed nią Qt coraz szybciej zwiększa liczbę nowych użytkowników.

      Zrobiono dużo by uniknąc forka Qt. Gdyby decyzje podejmowano za późno jak piszesz, nie uniknięto by forka bo nie tylko firmy, ale też masa otwartego oprogramowania zależy od witalności projektu Qt.

      Mówię o Qt jako narzędziu cross-platform; Qt jako platforma Nokii czy kogokolwiek to osobna sprawa bo wchodzimy na obszar sprzętu i OSów i nie można patrzeć na Qt tylko przez ten pryzmat.

      1. Awatar jarek
        jarek

        "Zrobiono dużo by uniknąc forka Qt."

        Dlaczego, przeciez forki to samo dobro?

        1. Awatar jstaniek
          jstaniek

          Tak ale chyba masz na myśli forki programów a nie bibliotek, formatów i narzędzi? Chciałbyś mieć w tym fragmentację i np. 20 wersji GTK+ i 20 wersji Qt na jednym sprzęcie bo aplikacje używają różnych API/ABI (co więcej komórce)?

          1. Awatar jarek
            jarek

            Nie chcialbym 20 wersji bibliotek, ktore oferuja 20 troche innych interfejsow programistycznych,
            i nie chcialbym 20 wersji programow, ktore oferuja 20 troche innych interfejsow uzytkownika.

            Pierwsze jest upierdliwe dla programistow, drugie dla uzytkownikow. Obydwa rozdrabniaja zasoby.

    2. Awatar J_G
      J_G

      > ile firm jest zainteresowanych rozwojem Qt? To zdaje się jest klucz do odpowiedzi co czeka platformę.

      Skoro Qt to podstawa KDE i jest fundacja zajmująca się tym urządzeniem, to może się ono rozwijaćnawet i tylko w obrębie KDE (w ekstremalnym przypadku). KDE4, co by złego o nim nie powiedzieć, zdąża wyraźnie w kierunku stabilności i uzyteczności, więc pewnie odzyska pozycję, jaką zajmowało kiedyś KDE 3.5. Tym bardziej, że drugie "magistralne" środowisko świata open source, Gnome 3, ma obecnie całkiem podobne problemy z akceptacją.

      1. Awatar Budyń
        Budyń

        Pewnie w wersji 6.2….i wtedy KDE będzie (już jest?) produktem Linux-only.

        1. Awatar merez
          merez

          Nie jest i nie zamierza być. Panu pomyliły się DE.

        2. Awatar J_G
          J_G

          > Pewnie w wersji 6.2….

          Nawet jak KDE4 będzie tylko "produktem Linux-only", to i tak będzie miało całkiem szerokie zastosowanie – dystrybucji jest z kilkaset przecież 🙂

          Okoliczności zmusiły mnie do używania tego (w Slacku nie ma zbyt dużego wyboru) i nie jestem (mówiąc oględnie) zachwycony, nie da się ukryć nie jest to tak dobre jak wersja 3.5.10, ale i tak lepsze (jako GUI) niż win7, na którym jest wyraźnie wzorowane. Na pewno jest klarowniejsze.

          1. Awatar mikolajs
            mikolajs

            KDE 4 pierwsze wydanie 11.01.2008
            Windows7 pierwsze wydanie 22.10.2009
            W jaki sposób KDE mogło wzorować się na nieistniejącym jeszcze systemie?

  6. Awatar Moro
    Moro

    Qt by znacznie ruszył do przodu, gdyby można w nim pisać aplikacje na androida.

    1. Awatar peter
      peter

      W tym temacie także coś się ruszyło http://sourceforge.net/p/necessitas/home/necessit…

      1. Awatar Rave
        Rave

        No niekoniecznie. Na produkcję to się toto nie nadaje.
        Problemy z odrysowywaniem widoków, problemy z wznawianiem aplikacji wrzuconej do tła (np przez nacisniecie przycisku Home) . Brak relokacji kontrolek tekstowych tak by ich nie przesłaniała witualna klawiatura i wiele innych. Także problemy z uruchomieniem tego czegos by w ogóle ruszyło. Niestabilność samego środowiska i częste crashe.
        Qt na androida można traktować jako ciekawostkę a nie coś co można zaprząc do roboty.

        Pomysł bardzo dobry, realizacja kiepska.

        PS piszę na podstawie własnych doświadczeń sprzed około dwóch tygodni.

        1. Awatar merez
          merez

          Tu ktoś napisał, że jest coraz lepiej – http://www.piggz.co.uk/?page=blogentry&id=67
          Więc może sprawdź nową wersję.

          1. Awatar jstaniek
            jstaniek

            Napisał to Adam (Z Kexi Project), którego specjalnie wczoraj poprosiłem by zablogował o tym. Autora necessitas spotkałem w czerwcu na QtCS i jest zapewnienie z Cutehacks, że to długoterminowy a nie testowy projekt. Necessitas jest w stadium alfa a Qt z OpenGL już świetnie tam działa, na Qt Dev Days prezentowano. http://cutehacks.com/2011/10/28/devdays2011/

          2. Awatar Rave
            Rave

            Nie ma co sprawdzać: http://community.kde.org/Necessitas/TODO

            Klawiatura i menu MUSI działać. Potem Bluetooth i kamera.

            Klawiatura – aby nie przesłaniała edytowanych kontrolek – absolutna podstawa

            Menu – mniej ważne ale cholernie oszczędza przestrzeń roboczą.

            Bluetooth – komunikacja z urz. mobilnymi (choćby mobilne drukarki, czytniki) – absolutna podstawa i to nie tak, że BT jest a nie ma oprogramowanych profili (WP7 się kłania)

            Kamera – ze względu na bibliotekę do rozpoznawania kodów 2D – zależy od aplikacji, ale część biznesu musi mieć dostęp do przenośnego czytnika kodów. Zewnętrzny czytnik kodów kosztuje ponad 1k PLN.

            Na chwilę obecną jedyne co można robić w Qt to gierki.

            Za rok Qt być może dogoni minimum podstaw w Androidzie. Na chwilę obecną to tylko zabawka, choć przyznam, że kibicuję temu projektowi.

          3. Awatar jstaniek
            jstaniek

            Klawiatura mi działała już przed wakacjami. Ta strona TODO nie musi być w 100% aktualna. Jak na projekt alfa to już nie zabawka. Do pisania gierek to już w istocie wieloplatformowe narzędzie dla osób które nie trawią HTML5. Wszystko z Androidem może się jednak zdarzyć (fragmentacja, licencje, ucieczka producentów), więc przyszłość Necessitas też nie jest pewna, ale i w pesymistycznym przypadku raz napisana aplikacja ma szansę po minimalnych zmianach sensownie działać na innej platformie.

          4. Awatar Rave
            Rave

            Twierdzisz, że kłamię bo nie sprawdziłem co działa, a twórcę strony oskarżasz o niedbalstwo?

            Jeżeli Android przegoni Windowsa ( a zanosi się że przegoni) to licencje i inne duperele firmy wlicza sobie w cene. Niech tylko będzie się dało uruchomić soft z Andka na PC to nic go nie zatrzyma.

            Jedynym systemem jaki moze zagrozic Androidowi to Ubuntu.

  7. Qt 5 Alfa | OSnews.pl

    […] model rozwoju w ramach jednej społeczności z klarownymi zasadami (opisywany już na OSNews.pl Open Governance), aktywnie formującej się wraz z powołaniem do życia inicjatywy qt-project.org. Większość […]

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *