ക്യുഎംഎൽ
ക്യുഎംഎൽ (ക്യൂട്ടി മോഡലിംഗ് ലാംഗ്വേജ്[4]) ഒരു ഉപയോക്തൃ ഇന്റർഫേസ് മാർക്ക്അപ്പ് ഭാഷയാണിത്. ഉപയോക്തൃ ഇന്റർഫേസ് കേന്ദ്രീകൃത ആപ്ലിക്കേഷനുകൾ രൂപകൽപ്പന ചെയ്യുന്നതിനുള്ള ഒരു ഡിക്ലറേറ്റീവ് ഭാഷയാണ് (സിഎസ്എസ്, ജേസൺ എന്നിവയ്ക്ക് സമാനമായത്). ഇൻലൈൻ ജാവാസ്ക്രിപ്റ്റ് കോഡ് അനിവാര്യമായ വശങ്ങൾ കൈകാര്യം ചെയ്യുന്നു. ക്യൂട്ടി ചട്ടക്കൂടിനുള്ളിൽ നോക്കിയ ആദ്യം വികസിപ്പിച്ചെടുത്ത യുഐ ക്രിയേഷൻ കിറ്റായ ക്യൂട്ടി ക്വക്കുമായി ഇത് ബന്ധപ്പെട്ടിരിക്കുന്നു. ടച്ച് ഇൻപുട്ട്, ഫ്ലൂയിഡ് ആനിമേഷനുകൾ, ഉപയോക്തൃ അനുഭവം എന്നിവ നിർണായകമായ മൊബൈൽ ആപ്ലിക്കേഷനുകൾക്കായി ക്യൂട്ടി ക്വക്ക് ഉപയോഗിക്കുന്നു. ഒരു 3ഡി ദൃശ്യവും "ഫ്രെയിം ഗ്രാഫ്" റെൻഡറിംഗ് രീതിയും വിവരിക്കുന്നതിന് ക്യൂട്ടി3ഡി(Qt3D)[5] യ്ക്കൊപ്പം ക്യുഎംഎൽ ഉപയോഗിക്കുന്നു. ഒരു ക്യുഎംഎൽ ഡോക്യുമെന്റ് ഒരു ഹയറാജിക്കൽ ഒബ്ജക്റ്റ് ട്രീയെ കുറിക്കുന്നു. ക്യുട്ടി ഉപയോഗിച്ച് ഷിപ്പ് ചെയ്ത ക്യുഎംഎൽ മൊഡ്യൂളുകളിൽ[6]പ്രാകൃത ഗ്രാഫിക്കൽ ബിൽഡിംഗ് ബ്ലോക്കുകൾ (ഉദാ. ദീർഘചതുരം, ചിത്രം), മോഡലിംഗ് കമ്പോണന്റ്സ് (ഉദാ. FolderListModel, XmlListModel), ബിഹേവിയറൽ കമ്പോണന്റ്സ് (ഉദാ., TapHandler, DragHandler, State, Transition, Animation) എന്നിവ ഉൾപ്പെടുന്നു. നിയന്ത്രണങ്ങൾ (ഉദാ. ബട്ടൺ, സ്ലൈഡർ, ഡ്രോയർ, മെനു). ലളിതമായ ബട്ടണുകളും സ്ലൈഡറുകളും മുതൽ സങ്കീർണ്ണമായ കമ്പോണന്റുകൾ നിർമ്മിക്കുന്നതിനും ഇന്റർനെറ്റ് ഉപയോഗിക്കാവുന്ന പ്രോഗ്രാമുകൾ പൂർത്തിയാക്കുന്നതിന് വേണ്ടി ഈ കമ്പോണന്റുകൾ സംയോജിപ്പിക്കാൻ കഴിയും.
ശൈലി: | Multi-paradigm: declarative, reactive, scripting |
---|---|
പുറത്തുവന്ന വർഷം: | 2009 |
വികസിപ്പിച്ചത്: | Qt Project |
ഏറ്റവും പുതിയ പതിപ്പ്: | 5.15.0[1] |
ഡാറ്റാടൈപ്പ് ചിട്ട: | dynamic, strong |
സ്വാധീനിക്കപ്പെട്ടത്: | XAML,[2] JSON, JavaScript, Qt |
സ്വാധീനിച്ചത്: | Qt, Ring[3] |
വെബ് വിലാസം: | qt-project |
എക്സ്റ്റൻഷൻ | .qml |
---|---|
ഫോർമാറ്റ് തരം | Scripting language |
ഇൻലൈനിലും .js ഫയലുകൾ വഴിയും സ്റ്റാൻഡേർഡ് ജാവാസ്ക്രിപ്റ്റ് ഉപയോഗിച്ച് ക്യുഎംഎൽ കമ്പോണന്റുകൾ വർദ്ധിപ്പിക്കാൻ കഴിയും. ക്യുടി ചട്ടക്കൂട് ഉപയോഗിച്ച് സി++ കമ്പോണന്റുൾ ഉപയോഗിച്ച് കമ്പോണന്റുകൾ തടസ്സമില്ലാതെ സംയോജിപ്പിക്കാനും വിപുലീകരിക്കാനും കഴിയും.
ക്യുഎംഎൽ പ്രോഗ്രമിംഗ് ഭാഷയാണ്; അതിന്റെ ജാവാസ്ക്രിപ്റ്റ് റൺടൈം കസ്റ്റം വി4 എഞ്ചിനാണ്,[7]ക്യുടി 5.2 മുതൽ;[8]കൂടാതെ ക്യുടി ക്വിക്ക് 2 ഡി സീൻ ഗ്രാഫും അതിനെ അടിസ്ഥാനമാക്കിയുള്ള യുഐ ചട്ടക്കൂടുമാണ്. ഇവയെല്ലാം ക്യുടി ഡിക്ലറേറ്റീവ് മൊഡ്യൂളിന്റെ ഭാഗമാണ്, അതേസമയം സാങ്കേതികവിദ്യയെ ക്യുടി ഡിക്ലറേറ്റീവ് എന്ന് വിളിക്കില്ല.
ക്യുഎംഎൽ, ജാവാസ്ക്രിപ്റ്റ് കോഡ് എന്നിവ ക്യുടി ക്വിക്ക് കംപൈലർ ഉപയോഗിച്ച് നേറ്റീവ് സി++ ബൈനറികളിലേക്ക് കംപൈൽ ചെയ്യാം.[9] പകരമായി ഒരു ക്യുഎംഎൽ കാഷെ ഫയൽ ഫോർമാറ്റ് ഉണ്ട്[10] അത് അടുത്ത തവണ റൺ ചെയ്യുമ്പോൾ വേഗമേറിയ സ്റ്റാർട്ടപ്പിനായി ക്യുഎംഎൽ കംപൈൽ ചെയ്ത പതിപ്പ് സ്റ്റോർ ചെയ്യുന്നു.
അഡോപ്ഷൻ
തിരുത്തുക- കെഡിഇ പ്ലാസ്മ 4[11],കെഡിഇ പ്ലാസ്മ 5 എന്നിവ പ്ലാസ്മ ചട്ടക്കൂട് ഉപയോഗിക്കുന്നു.
- ലിറി ഒഎസ്
- സിമ്പിൾ ഡെസ്ക്ടോപ്പ് ഡിസ്പ്ളേ മാനേജർ
- റിമാക്കിബിൾ ടാബലറ്റ് ഡിവൈസ്[12][13]
- യുണിറ്റി 2 ഡി[14]
- സെയിൽഫിഷ് ഒഎസ്[15][16][17]
- ബ്ലാക്ക്ബെറി 10[18]
- മീഗോ[19][20]
- മെയ്മോ[21]
- ടൈസൺ[22]
- മെർ[23][24][25]
- ഉബുണ്ടു ടച്ച്[26]
- ലുമിന (ഡെസ്ക്ടോപ്പ് എൺവയൺമെന്റ്)[27]
- മെനി open-source applications
സിന്റാക്സ്, സെമാന്റിക്സ്
തിരുത്തുകബേസിക് സിന്റാക്സ്
തിരുത്തുകഉദാഹരണം:
import QtQuick
Rectangle {
id: canvas
width: 250
height: 200
color: "blue"
Image {
id: logo
source: "pics/logo.png"
anchors.centerIn: parent
x: canvas.height / 5
}
}
ഒബ്ജക്റ്റുകൾ അവയുടെ ടൈപ്പ് അനുസരിച്ച് വ്യക്തമാക്കുന്നു, തുടർന്ന് ഒരു ജോടി ബ്രേസുകൾ ഉപയോഗിക്കുന്നു. ഒബ്ജക്റ്റ് ടൈപ്പുകൾ എല്ലായ്പ്പോഴും വലിയ അക്ഷരത്തിൽ ആരംഭിക്കുന്നു. മുകളിലുള്ള ഉദാഹരണത്തിൽ, രണ്ട് വസ്തുക്കളുണ്ട്, ഒരു ദീർഘചതുരം; അതിന്റെ ചൈൽഡ്, ഒരു ചിത്രം അതിന്റെ ബ്രേസുകൾക്കിടയിലൂടെ, വസ്തുവിനെക്കുറിച്ചുള്ള വിവരങ്ങൾ, അതിന്റെ സവിശേഷതകൾ എന്നിവ വ്യക്തമാക്കാൻ കഴിയും. പ്രോപ്പർട്ടികൾ പ്രോപ്പർട്ടിയായി തന്നെ വ്യക്തമാക്കിയിരിക്കുന്നു: വാല്യൂ. മുകളിലെ ഉദാഹരണത്തിൽ, ചിത്രത്തിന് സോഴ്സ് എന്ന് പേരിട്ടിരിക്കുന്ന ഒരു പ്രോപ്പർട്ടി ഉണ്ടെന്ന് നമുക്ക് കാണാം, അതിന് pics/logo.png എന്ന മൂല്യം നൽകിയിരിക്കുന്നു. ഓരോ ഒബജക്ടും അതിന്റെ മൂല്യവും ഒരു കോളൻ കൊണ്ട് വേർതിരിച്ചിരിക്കുന്നു.
അവലംബം
തിരുത്തുക- ↑ "Qt 5.15 Released".
- ↑ "Which interface for a modern application?". scriptol.
- ↑ Ring Team (5 December 2017). "The Ring programming language and other languages". ring-lang.net. ring-lang. Archived from the original on 2018-12-25. Retrieved 2023-03-17.
- ↑ "Qt Declarative API Changes | Qt Blog". March 25, 2014. Archived from the original on March 25, 2014.
- ↑ "Qt 3D Overview | Qt 3D 5.13.1". doc.qt.io.
- ↑ "All QML Types | Qt 5.13". doc.qt.io. Retrieved September 7, 2019.
- ↑ Knoll, Lars (2013-04-15). "Evolution of the QML engine, part 1". Retrieved 2018-05-11.
- ↑ "What's New in Qt 5.2". Retrieved 2018-05-11.
- ↑ "Qt Quick Compiler". Retrieved September 7, 2019.
- ↑ "Deploying QML Applications | Qt 5.13". doc.qt.io. Retrieved September 7, 2019.
- ↑ "Development/Tutorials/Plasma4/QML/GettingStarted". KDE TechBase. KDE.
- ↑ Dragly, Svenn-Arne (December 2017). "Developing for the reMarkable tablet". dragly.
- ↑ "QML Demo for the reMarkable Paper Tablet". GitHub. 9 March 2022.
- ↑ "Ubuntu's Unity Written In Qt/QML For "Unity Next"". Michael Larabel.
- ↑ "Combining C++ with QML in Sailfish OS applications".
- ↑ "Tutorial - QML Live Coding With Qt QmlLive".
- ↑ "QML to C++ and C++ to QML". Jolla.
- ↑ "QML fundamentals". Blackberry.
- ↑ "Intro to QML for Meego". Nokia. Archived from the original on 2018-01-04. Retrieved 2023-03-24.
- ↑ "MeeGo and Qt / QML demos assault MWC". IoT Gadgets.
- ↑ "QML on N900". maemo.org. Maemo Community. Archived from the original on 2023-03-24. Retrieved 2023-03-24.
- ↑ "Qt Launches on Tizen with Standard Look and Feel". 20 May 2013.
- ↑ "Mer".
- ↑ "Mer wiki".
- ↑ "Lipstick QML UI on MeeGo CE / Mer". IoT Gadgets.
- ↑ "QML - the best tool to unlock your creativity". Ubuntu.
- ↑ "Looking at Lumina Desktop 2.0". TrueOS.