با زبان برنامه نویسی دارت Dart آشنا شویم

با زبان برنامه نویسی دارت Dart آشنا شویم
زبان های برنامه نویسی ، روزبه روز درحال انعطاف هستند . مخصوصا زبان های برنامه نویسی شیء گرا که دارای طرفداران بسیاری هستند . زبان های برنامه نویسی همچون سی پلاس پلاس ++C ، سی شارپ #C ، جاوا اسکریپت JS و … بسیاری از زبان های دیگر که از برخی در توسعه اندروید هم بهره وری میشود . در این مطلب بصورت کاملا کوتاه و کلی ، سراغ یک زبان برنامه نویسی رفتیم که اخیرا بسیاری سراغ آن رفتند ! با آسان لرن همراه باشید .
زبان دارت Dart
از اسم آن ، نام تخته دارت به ذهن متبادر میشود . قصد گوگل هم همین است!
یک زبان برنامه نویسی که کاملا تیر خواسته های برنامه نویسان را به هدف مینشاند . انعطاف پذیری این زبان ، تمامی خواسته های برنامه نویسان را به هدف نشانده است . زبان برنامه نویسی Dart ، زبانی است که در سال 2011 توسط گوگل افتتاح شد . این زبان ، طی سال های اخیر تغییرات بسیاری توسط Google داشته و توسط ارگان Ecma به تصویب رسید . انجمن سازندگان اروپایی رایانه (ECMA) ، انجمنی است که در سال 1961 تاسیس شده است و کارکرد این انجمن در زمینه استانداردسازی قالبهای عملیاتی رایانه ای است که توانسته است استانداردی به همین نام بوجود آورد .این استاندارد ، درمورد زبان های برنامه نویسی و خروجی آنها ( هرچیزی مانند اپلیکیشن یا برنامه و … ) است . این انجمن ، واقع در ژنو سوییس است .
گوگل ، این زبان را بعنوان تحولی نوین معرفی میکند . علت ساخت این زبان ، جانشینی برای زبان جاوا اسکریپت بود که مشکلاتی را برای توسعه دهندگان وب بوجود می آورد . البته به قدرت این زبان اصلا شکی نیست! اما برخی از مشکلاتی که این زبان بوجود می آورد از قبیل :
- سختی بالای این زبان در زمینه توسعه دهندگی وب
- مشکل ذخیره سازی حافظه
- نیاز به امنیت بالاتر نسبت به زبان های وب دیگر
- کارآیی بالاتر و انعطاف پذیری بالا . زیرا نیاز بود یک زبان با کارکرد اصلی جایگزین شود .
و … بسیار موارد دیگر .
زبان برنامه نویسی Dart ، زبانی ساده تر نسبت به جاوا اسکریپت Java Sccript است که با استفاده از آن میتوان خروجی های حرفه ای را تولید کرد . البته این زبان ، بیشتر سعی دارد قابلیت های جاوااسکریپت را با رفع محدودیت و روشی متفاوت ارائه کند . گوگل که استقبال زیاد کاربران از دارت را دید ، تصمیم گرفت این زبان را قدرتمندتر و با قابلیت های بیشتر و بهتری تحویل دولپر Developer ها بدهد . این زبان توسط دو مهندس به نام های لارس بک و کسپر لاند اجرایی شده است . البته رونمایی آن توسط کسپر لاند ( کاسپر لوند ) و آرهوس دانمارک در کنفرانس معروف جهانی GOTO صورت گرفت و سپس بعد از دوسال ، یعنی سال 2013 ، در معرض انتشار عمومی قرار گرفت .
اگر به ساختار این زبان نگاهی بیندازید ، یاد زبان C میفتید . بله درست فهمیدید! این زبان بر اساس شیء گرایی ، کلاس ، وراثت ، اینترفیس و کلاسهای Abstract این زبان تنظیم شده است ( البته تاحدودی هم میتوان شباهت این زبان را به ++C و JavaScript هم نسبت داد . درکل سینتکس Syntax این زبان ، ترکیبی از زبان های دیگر است و افرادی ممکن است حتی احساس کنند شبیه پایتون هم هست! ) . پسوند زبان های برنامه نویسی آن dart. است و با هر ویرایشگری باز نمیشود ! ویرایشگر اصلی این زبان را میتوانید از اینجا دانلود کرده و استفاده کنید .
علاوه بر وب ، از این زبان در ساخت برنامه و اپلیکیشن های دسکتاپ ( رومیزی ) ، اندروید و سمت سرور و برنامه های دیتابیس هم استفاده میشود . زبان دارت بصورت مستقیم توسط سیستم عامل ترجمه میشود و نیازی به مترجم یا واسط نیست!
سایت دارت دات دِو dart.dev دارای یک کامپایلر آنلاین است که میتوانید از آن بصورت برخط استفاده کنید و لذت ببرید .
البته برای استفاده در سیستم ، باید کیت شبیه سازی دارت یا Dark SDK را به همراه Dart VM ( ماشین مجازی دارت ) دانلود کنید . یک ابزاری که بسیار بدرد شما خواهد خورد و در این اس دی کی sdk موجود است ، ابزار dart2js است که کدهای دارت را معادلسازی به جاوااسکریپت میکند .
بهره وری از دارت Dart
ما از دارت میتوانیم به سه صورت استفاده کنیم . این سه روش در زیر معرفی شده است :
- بسته بندی ( Compile ) بصورت کد JS
- حمل SDK با Dart VM
- تبدیل به کد ماشین و تبدیل خودکار به برنامه
آیا به صرفه است که از دارت استفاده کنم؟
به قطع یقین دارت برای به صرفگی بوجود آمده است! اما با وجود زبان های قوی وب دیگر ، لازم است ما دارت را انتخاب کنیم؟
فلاتر Flutter
قطعا اسم فریمورک فلاتر Flutter ، را زیاد شنیده اید . جالب است بدانید که این Framework را گوگل برای زبان برنامه نویسی دارت برگزیده است . در سال 2017 شرکت گوگل در کنفرانسی ، از چهارچوبی بسیار منعطف و جذاب رونمایی کرد که کار توسعه دهندگان موبایل را بسیار ساده تر میکرد . این فریمورک به سرعت مورد توجه توسعه دهندگان حوزه موبایل و گوشی های همراه قرار گرفت و دلیل اصلی آن ، سادگی مسیرهای پیچیده طراحی اپ بود !بطور مثال ، ما برای اینکه اپلیکیشن های اپل ( IOS ) را به همراه اپلیکیشن های اندروید ( Android ) { یا بومی Native } تولید میکردیم ، باید برای هرکدام یک زبان برنامه نویسی جدا فرا میگرفتیم یا یک برنامه جدا مینوشتیم!
اما فلاتر ، قابلیتی که داشت این بود که با یکبار خروجی میتوانستیم هم برای Native و هم برای IOS اپلیکیشن تولید کنیم . در محیط دارت ، ما میتوانیم تغییراتی که با فلاتر انجام دادیم را همزمان مشاهده کنیم . یعنی یک شبیه ساز موبایل در کنار صفحه ، و یک لیوان قهوه داغ و نمایش کارهای بسیار جالبی که با بسیاری از زبان ها به سختی میشد انجام داد! چقدر عالی!
افرادی که قصد تولید اپلیکیشن های بسیار بهینه ، ظاهری زیبا و قدرتمند را دارند ، میتوانند از زبان دارت و این فریمورک بهره ببرند .
نکات مثبت فلاتر بسیار فراوان است . پس بنابراین ما در نمونه های زیر خلاصه میکنیم :
- رایگان بودن خود فریمورک و تمامی ابزارهای مورد نیاز
- Open Source اوپن سورس و متن باز
- بهره وری بالای اپلیکیشن
- عملکرد قدرتمند
- رابط کاربری ساده ولی در عین حال حرفه ای
- همسان سازی حرفه ای در فلاتر
- کاهش هزینه های چشمگیر
و …
پس با این تعاریف ، همچنین بی صرفه هم نیست! قطعا بی سود نخواهد بود .
آیا دارت آینده خوبی خواهد داشت؟
دارت ، در ایران با استقبال بسیاری مواجه شده است . البته دارت تازه کار نیست ، اما فریمورک Flutter نزدیک به چهارسال از عمر خودرا میگذارند . اما با این حال ، این زبان ها همگی کارکرد متفاوتی را ارائه کرده و توانسته اند مشکلات بسیاری را حل و فصل کنند . بازار کار این زبان ، بنظر خوب میرسد . اگر با تحقیقات و تصمیمات خود ، به این نظر رسیدید که دارت زبان مناسب شماست ، مطمئنیم که ان شاالله موفق خواهید شد .
معایب دارت
اما علاوه بر مزایا معایبی هم از دارت ببینیم :
- دارت و فلاتر کمی تازه کارتر نسبت به سایرین زبان های معروف اند . برای همین هنوز جای کار و توسعه دارد .
- مستندات و آموزشهای این زبان نسبت به سایرین کمتر است .
- افراد زیادی را نسبت به سایر زبان های دیگر پیدا نمیکنید که با این زبان کار کرده باشند ( جامعه کوچکی ندارد اما به اندازه زبان هایی مانند js بزرگ نیست! )
- اگر خطایی در بین کد پیدا کنید ، پیدا کردن عیب و خطا و اشکالزدایی سخت است .
و …
یادگیری این زبان ، بسیار وقت نمیبرد . اما قطعا نیاز به پیش زمینه های مناسب است . اگر بخواهید مستقیما بدون پیش زمینه سراغ دارت بروید ، قطعا کمی طول خواهد کشید .
در این مقاله ، ما دارت را بصورت کلی و ساده ( بدون مباحث سطح پیشرفته ) بررسی کردیم . امیدواریم که مورد استقبال شما دوستان عزیز ، قرار گرفته باشد .
دیدگاهتان را بنویسید