منصوبے کے بارے میں

go-flutter ایک غیر سرکاری اوپن سورس پروجیکٹ ہے جو Flutter کو ڈیسک ٹاپ پلیٹ فارمز پر لاتا ہے۔ Flutter ایک ہی کوڈ بیس سے iOS اور Android پر نیٹو ایپس بنانے کے لیے ڈیزائن کیا گیا ہے؛ یہ پروجیکٹ Go اور GLFW استعمال کرتے ہوئے اسی نقطہ نظر کو Windows، macOS اور Linux تک بڑھاتا ہے۔ Flutter انجن خود ڈیسک ٹاپ پلیٹ فارم کے امور جیسے ماؤس اور کی بورڈ ان پٹ کو نہیں سنبھالتا۔ یہ پلیٹ فارمز کے لیے ایک تجریدی پرت (abstraction layer) فراہم کرتا ہے جسے نافذ کرنا ہوتا ہے۔ go-flutter ایک ہی کوڈ بیس کے ساتھ Flutter کی Embedding API نافذ کرتا ہے جو Windows، macOS اور Linux پر چلتا ہے۔ رینڈرنگ کے لیے GLFW استعمال کیا جاتا ہے کیونکہ یہ ہر پلیٹ فارم کے لیے OpenGL بفرز، ماؤس اور کی بورڈ پر موزوں تجرید فراہم کرتا ہے۔ Go اس لیے منتخب کیا گیا کیونکہ یہ پلیٹ فارمز کے درمیان مستقل ٹولنگ پیش کرتا ہے اور کوڈ کو سادہ اور قابلِ مطالعہ رکھتا ہے، جو کراس پلیٹ فارم پلگ انز بناتے وقت مددگار ثابت ہوتا ہے۔ شروعات: تجویز کردہ طریقہ یہ ہے کہ hover انسٹال کریں، جو go-flutter کا سرکاری ٹول ہے جو ڈیسک ٹاپ پر Flutter ایپس کو سیٹ اپ کرنے، بنانے اور چلانے کے لیے استعمال ہوتا ہے، بشمول hot reload۔ پروجیکٹ ایک hover ٹیوٹوریل اور ایک الگ examples ریپوزٹری کی طرف اشارہ کرتا ہے۔ مزید تفصیلی معلومات wiki میں دستیاب ہیں۔ معاون خصوصیات میں شامل ہیں: Linux، macOS اور Windows؛ hot reload؛ BinaryMessageCodec، BinaryMessageChannel، StandardMessageCodec، JSONMessageCodec، StandardMethodCodec اور MethodChannel پر مشتمل پلگ ان سسٹم؛ معاون پلگ انز کے لیے پلگ ان کی شناخت؛ حسبِ ضرورت پروجیکٹس میں Go لائبریری کے طور پر درآمد کرنے کی صلاحیت؛ UTF-8 ٹیکسٹ ان پٹ؛ کلپ بورڈ کاپی اور پیسٹ؛ ونڈو ٹائٹل اور آئیکن؛ معیاری کی بورڈ شارٹ کٹس جیسے ctrl-c، ctrl-v، ctrl-x، ctrl-a، Home، End، shift-Home، shift-End، ctrl اور shift موڈیفائرز کے ساتھ ایرو نیویگیشن، Backspace، ctrl-Backspace اور Delete؛ ماؤس اوور/ہوورنگ؛ ماؤس بٹن؛ خام کی بورڈ ایونٹس؛ ڈسٹری بیوشن فارمیٹس بشمول windows-msi، mac-dmg، linux-appimage اور مزید؛ اور Docker استعمال کرتے ہوئے کراس کمپائلنگ۔ مثالیں ایک الگ ریپوزٹری میں موجود ہیں، اور کچھ مقبول پلگ انز پہلے ہی ایک مخصوص plugins ریپوزٹری میں نافذ کیے جا چکے ہیں۔ wiki میں پلگ ان بنانے کا ٹیوٹوریل موجود ہے۔ ورژن مطابقت: پروجیکٹ Flutter کے beta چینل کے ساتھ مطابقت برقرار رکھنے کی کوشش کرتا ہے؛ یہ Go کی تازہ ترین stable ریلیز کے ساتھ مطابقت رکھتا ہے؛ اور یہ GLFW v3.3 کے لیے go-gl/glfw استعمال کرتا ہے۔ پروجیکٹ BSD 3-Clause License کے تحت لائسنس یافتہ ہے۔