প্রকল্প সম্পর্কে

Slint হলো এমবেডেড সিস্টেম, ডেস্কটপ, মোবাইল প্ল্যাটফর্ম এবং WebAssembly-এর মাধ্যমে ওয়েবের জন্য নেটিভ ইউজার ইন্টারফেস তৈরির একটি ওপেন-সোর্স ডিক্লারেটিভ GUI টুলকিট। UI একবার `.slint` নামক একটি ডিক্লারেটিভ মার্কআপ ভাষায় লেখা হয় এবং Rust, C++, JavaScript বা Python-এ লেখা বিজনেস লজিকের সাথে সংযুক্ত করা হয়। নামের পেছনের ডিজাইন লক্ষ্যগুলো: Scalable (রেসপন্সিভ ডিজাইন, ক্রস-প্ল্যাটফর্ম, মাল্টি-ল্যাঙ্গুয়েজ), Lightweight (সর্বনিম্ন মেমরি ও প্রসেসিং প্রয়োজনীয়তা), Intuitive (সুসংগত API এবং ডিজাইনার-বান্ধব টুলিং), এবং Native (মেশিন কোডে কম্পাইল করা, OS API, CPU/GPU কোর এবং পেরিফেরালে অ্যাক্সেসসহ)। মূল বৈশিষ্ট্য: - স্বাধীন UI ডিজাইন: ডিক্লারেটিভ ভাষা UI-কে বিজনেস লজিক থেকে আলাদা করে, যাতে ডিজাইনার ও ডেভেলপাররা সমান্তরালে কাজ করতে পারেন। - টুলিং: লাইভ প্রিভিউ, এডিটর ইন্টিগ্রেশন, একটি LSP সার্ভার, একটি VS Code এক্সটেনশন, অটো-রিলোডসহ slint-viewer টুল, অনলাইন SlintPad এডিটর, এবং একটি Figma to Slint প্লাগইন। - স্থিতিশীল 1.x API, সতর্ক বিবর্তনসহ। আর্কিটেকচার: `.slint` ফাইলগুলো লেক্সিং, পার্সিং, অপটিমাইজেশন এবং কোড জেনারেশনের মাধ্যমে আগাম কম্পাইল করা হয়, যেখানে C++, Rust এবং অন্যান্য টার্গেটের জন্য ব্যাক-এন্ড এবং ডাইনামিক ভাষার জন্য একটি ইন্টারপ্রেটার রয়েছে। রানটাইম ইঞ্জিন কম্পোনেন্ট, এলিমেন্ট, আইটেম এবং প্রপার্টিগুলো একটি একক মেমরি অঞ্চলে সাজায় যাতে অ্যালোকেশন কমে। রেন্ডারিং ব্যাক-এন্ড এবং স্টাইল কম্পাইল সময়ে কনফিগারযোগ্য: femtovg (OpenGL ES 2.0), skia, এবং একটি CPU-ভিত্তিক সফটওয়্যার রেন্ডারার; Qt ইনস্টল থাকলে একটি Qt স্টাইল উপলব্ধ হয়। রিপোজিটরিতে ডকুমেন্টেড ভাষা বাইন্ডিংগুলোর মধ্যে রয়েছে C++, Rust, JavaScript/NodeJS (Beta), এবং Python (Beta), প্রতিটির ডকুমেন্টেশন ও গেটিং-স্টার্টেড টেমপ্লেটসহ। উদাহরণ ও ডেমোগুলো এমবেডেড টার্গেট (Raspberry Pi, STM32, RP2040), ডেস্কটপ (Windows, macOS, Linux), এবং ওয়েব ডেমো যেমন একটি প্রিন্টার ডেমো, স্লাইড পাজল, এনার্জি মনিটর, উইজেট গ্যালারি এবং ওয়েদার ডেমো কভার করে। লাইসেন্সিং প্রোপ্রাইটারি ডেস্কটপ/মোবাইল/ওয়েব অ্যাপ্লিকেশনের জন্য রয়্যালটি-মুক্ত লাইসেন্স, ওপেন-সোর্স অ্যাপ্লিকেশনের জন্য GNU GPLv3, এবং প্রোপ্রাইটারি এমবেডেড/ডেস্কটপ/মোবাইল/ওয়েব অ্যাপ্লিকেশনের জন্য একটি বাণিজ্যিক লাইসেন্সের মধ্যে একটি পছন্দ দেয়। প্রকল্পটি SixtyFPS GmbH দ্বারা রক্ষণাবেক্ষণ করা হয় এবং কোড, বাগ রিপোর্ট ও ফিডব্যাককে স্বাগত জানায়।