O Qt4 jest głośno od czasu konferencji Kastle z wakacji poprzedniego roku. Pisano wówczas o nadziejach z nim związanych, dziś po seriach wywiadów, w których o Qt4 także wspominano, w 9. numerze, a pierwszym w tym roku, Qt Quarterly znajduje się artykuł „A taste of Qt4”, w którym Trolltech uchyla developerom rąbka tajemnicy. Co zatem nas czeka w nowym Qt?

Reużywalność aplikacji dołączanych do Qt
Od Qt4 będzie istniała możliwość integrowania Designera, Assistanta i Linguista z innymi programami, w planach jest embeddowanie do KDevelop, a także MS Visual C++.

Skłon w stronę nowych możliwości po forku XFree
Wsparcie dla nowinek z freedekstop w stylach dostarczanych z Qt (m.in. nowe translucency).

Nowe silniki do spełniania starych zadań
Arthur – nowy silnik do klasy QPaint, zostanie wyposażony w liczne optymalizacje do renderowania grafiki rastrowej i wektorowej, i będzie dostosowany per OS. Zatem możemy się spodziewać wykorzystania cairo w X11 i Quartz/QuickDraw w MacOsX.
Scribe – nowy silnik renderowania tekstu, z pełnym i transparentnym wsparciem dla unikodu (Qt już dziś ma pełne wsparcie dla unikodu, jednak kodowania nie są obsługiwane transparentnie dla developera, gdyż musi on korzystać z QTextCodec), ułatwieniami do pracy w edytorach WYSIWYG, wsparciem dla Bi-Di oraz przepisanym i udoskonalonym systemem wyświetlania czcionek na wszystkich platformach (nie trzeba należeć do GUST-u, żeby wiedzieć, że fontconfig się nie sprawdza).
Interview – wspólna, ogólna klasa dla dzisiejszych *View, umożliwi w prosty sposób uzyskanie i zarządzanie możliwymi sposobami pokazywania danych.

Rozszerzenia językowe
Qt4 wprowadzi nowe pojemniki pozwalające na korzystanie z Qt zarówno w sposób zgodny z STL, jak i w sposób tzw. QTL, co widać na załączonych przykładach:

  • Za pomocą foreach
    foreach (QString s, list)
    sum += s.length();
  • W stylu Javy
    QListIterator i(list);
    while (i.hasNext())
    sum += i.next().length();
  • W stylu STL
    QList::const_iterator i;
    for (i = list.begin(); i != list.end(); ++i)
    sum += (*i).size();

Pełne wsparcie dla wielowątkowości
O ile w czasach Qt2 multi-threading byl funkcjonalnością eksperymentalną, a w Qt3 został rozszerzony, o tyle w Qt4 będzie on podstawą do projektowania aplikacji. Wszystko dzięki wsparciu pętli zdarzeń per-wątek, połączeń między wątkowych między sygnałami a slotami (rozszerzenia języka C++ dodane w Qt) oraz wymianie danych zrealizowanej bezpiecznie dla pracy z wątkami.

Nowa architektura dokowania
Pojawi się również wsparcie dla systemu dokowania, przeźroczyste dla developera. Odtąd za dokowanie per system będzie odpowiadać biblioteka, co szczególnie mile witane jest przez developerów na Qt/Mac.

Rozwój accessibility
Qt4 będzie miało pełne wsparcie dla toolkitu Atk, którego zapowiedzią są funkcje z klasy IAccessibility w Qt3.

Modularyzacja
Zniknie znane i nienawidzone pojedyńcze libqt, a zamiast neigo zostaną wprowadzone qtcore (odpowiendik gliba, nie wymagjący XFree, a dostarczający całe Qt Templates Library. Teraz marzenia o QStringach na konsoli staną się rzeczywistością) oraz poszczególne qt<moduł> (np. qtxml, qtopengl, qcanvas).

Optymalizacja biblioteki i znaczne przyśpieszenie
W efekcie wielu niskopoziomowych optymalizacji, aplikacje linkowane z Qt będą o 10% mniejsze i będą startować o 20% szybciej,a takżę zajmują 15% mniej pamięci w porównaniu do Qt3.

Ale kiedy?
A wszystko to czeka na nas już w wakacje, kiedy to Trolltech planuje wypuścić Qt4 Technology Preview, natomiast wersja beta Qt4 planowana jest na drugą połowę bieżącego roku.

Archiwalny news dodany przez użytkownika: djurban.
Kliknij tutaj by zobaczyć archiwalne komentarze.

Oznaczone jako → 
Share →