QtQuick, QML dilinde grafik arayüzü geliştirmeye izin veren QML için bir araç takımıdır (QML için başka araç takımları da vardır, bazıları Sailfish Silica veya BlackBerry Cascade gibi grafikseldir ve bazıları QBS gibi grafiksel değildir.

Qt, temel kod tabanında çok az değişiklikle veya hiç değişiklik olmadan çeşitli yazılım ve donanım platformlarında çalışan ve yine de yerel bir uygulama olan, grafik kullanıcı arabirimleri ve çapraz platform uygulamaları oluşturmaya yönelik açık kaynaklı bir çerçevedir.

BlueMark Academy, alanında uzman eğitimcileri ile birlikte QT ve QML Eğitimlerini kapsamlı bir biçimde katılımcılara sunar. Sunumlarla sınırlı kalmayan, vakalarla ve örneklerle desteklenen BlueMark Academy Eğitimleri hakkında daha fazla bilgi sahibi olmak ya da QT ve QML Eğitimlerine kaydolmak için hemen bizimle iletişime geçin!

QT ve QML Hakkında Bilmeniz Gerekenler

QML (Qt Modelleme Dili) bir kullanıcı arabirimi biçimlendirme dilidir. Kullanıcı arayüzü merkezli uygulamalar tasarlamak için bildirimsel bir dildir (CSS ve JSON’a benzer). Satır içi JavaScript kodu, zorunlu yönleri işler. QML; Qt tarafından yaratılan hem güçlü, hem performanslı hem de üst düzey bir dildir ve Qt Quick modülüne entegre edilmiştir.

Qt; masaüstü, gömülü ve mobil için platformlar arası bir uygulama geliştirme çerçevesidir. Qt kendi başına bir programlama dili değildir. C++ ile yazılmış bir çerçevedir. Bir önişlemci olan MOC (Meta-Object Compiler), sinyaller ve yuvalar gibi özelliklerle C++ dilini genişletmek için kullanılır.

QML ve QT Quick Ne İçin Kullanılır?

QML, orijinal olarak Nokia tarafından Qt çerçevesinde geliştirilen UI oluşturma kiti olan Qt Quick ile ilişkilidir. Qt Quick, dokunmatik giriş, akıcı animasyonlar ve kullanıcı deneyiminin çok önemli olduğu mobil uygulamalar için kullanılır. QML ayrıca bir 3B sahneyi ve bir “çerçeve grafiği” oluşturma metodolojisini tanımlamak için Qt3D ile birlikte kullanılır.

Bir QML belgesi, hiyerarşik bir nesne ağacını tanımlar. Qt ile birlikte gönderilen QML modülleri, ilkel grafik yapı taşlarını, modelleme bileşenlerini (örneğin, FolderListModel, XmlListModel), davranışsal bileşenleri (örneğin, TapHandler, DragHandler, State, Transition, Animation) ve daha karmaşıklarını içerir. Bu öğeler, basit düğmeler ve kaydırıcılardan internet etkin programların tamamlanmasına kadar karmaşıklıktaki bileşenleri oluşturmak için birleştirilebilir.

QML (Qt İşaretleme Dili)

QML (Qt Quick modülü) bildirimsel bir dildir. Hem geliştiricilerin hem de tasarımcıların yüksek performanslı, akıcı animasyonlu ve görsel olarak çekici uygulamalar oluşturmasına olanak tanır. Zorunlu JavaScript ifadeleri desteğiyle yüksek düzeyde okunabilir, bildirime dayalı, JSON benzeri bir sözdizimi sunar ve bileşenlerin bir kullanıcı arabiriminde kolayca yeniden kullanılmasına ve özelleştirilmesine olanak tanır.

QML’nin önemi, güçlü bir dili kolayca manipüle etmektir. QML’nin performansı ile ilgili en önemli detaylar şu şekilde sıralanabilir:

  •   QML, hızlandırılmış hesaplamalar için GPU kullanır.
  •   Qt, C++ ile yazılmıştır ve desteklenen platformlarda yerel olarak çalışır.
  •   QML’nin bileşenleri C++ ile yazılmıştır.
  •   Verimliliği artırmak için uygulama motorlarını veya uygulama mantığını UI arabiriminin dışında C++’da uygulayın.
  •   QML, bir JIT (tam zamanında) ve AOT (zamanından önce) derleyicisi kullanır.
  •   QML lokaldir.

QT ile Oluşturulmuş En Önemli Yazılımlar

Qt Projesi, Qt yazılım çerçevesinin geliştirilmesini koordine etmeye yönelik açık bir işbirliği çabasıdır. İlk olarak 2011 yılında Nokia tarafından kurulan proje şimdi The Qt Company tarafından yönetiliyor.

Virtualbox, Adobe Photoshop Elements, Autodesk 3ds Max, emülatörler (rpcs3, dolphin, ppsspp, citra), OBS, Teamviewer, ArcGis, QGis, Spyder (bilim adamları, mühendisler ve veri analistleri için güçlü bilimsel ortam) gibi birçok yazılımda kullanan QT birçok önemli yazılımla birlikte anılır. Bu bölümde Qt tarafından oluşturulan bazı önemli yazılımları göreceğiz.

KDE

KDE bir masaüstü ortamıdır. Bilgisayarınızı grafiksel olarak kullanmanıza izin veren bir dizi araçtan oluşur: pencere yöneticisi, bağlantı penceresi, dosya yöneticisi, yardımcı programlar, vb.

Maya

Maya; sanatçılar, modelciler ve animatörler için güçlü modelleme, oluşturma, simülasyon, doku oluşturma ve animasyon araçlarına sahip 3B bilgisayar animasyon yazılımıdır.

Sailfish OS

Sailfish OS, aktif bir açık kaynak katkı modeline sahip gerçek bir Linux tabanlı açık işletim sistemidir, yani tüm müşteriler ve aktif bir Sailfish geliştirici topluluğu, çekirdek yazılımın geliştirilmesine katkıda bulunur.

Cry Engine

CryEngine, Crytek tarafından geliştirilen, birinci şahıs nişancı oyununda uzmanlaşmış bir oyun motorudur.