آشنایی با برخی ویژگی‌های زبان برنامه­‌نویسی Dart

آشنایی با برخی ویژگی‌های زبان برنامه­‌نویسی Dart

حدوداً ۶ سال از زمانی که شرکت گوگل اولین زبان برنامه‌نویسی چند منظورۀ خود را ساخت می‌گذرد. از آن زمان تاکنون، رتبه‌ای که زبان برنامه‌نویسی Dart به خود اختصاص داده است به آرامی در حال رشد است. سایت TIOBE که زبان‌های برنامه‌نویسی را بر اساس میزان محبوبیت آنها رتبه‌بندی می‌کند، در رتبه‌بندی ماه اکتبر ۲۰۱۷ ، این زبان را در رتبۀ بیست و پنجم قرار داد.

علیرغم اینکه بعید به نظر می‌رسد زبان دارت جای زبان‌های محبوبی مانند پایتون یا جاوااسکریپت را بگیرد، اما رشد آهسته و پیوستۀ آن ما را بر آن می‌دارد تا این زبان را مورد کنکاش قرار دهیم (لازم به ذکر است پروژه‌هایی که اخیراً با استفاده از زبان دارت نوشته شده‌اند نیز در افزایش رتبۀ این زبان بی‌تأثیر نبوده‌اند).

با اینکه شرکت گوگل در سرویس Google Maps ،Gmail و برخی دیگر از محصولاتش از جاوااسکریپت استفاده می‌کند و وابستگی شدیدی به این زبان دارد، زبان برنامه‌نویسی دارت را منتشر نمود که دلیل اصلی عرضهٔ این زبان به بازار، نواقص و نقاط ضعف جاوااسکریپت بود. در واقع، در جاوااسکریپت نسخه‌های قدیمی‌تر نسبت به ES6، شیی‌ٔگرایی به دلیل عدم وجود چیزی تحت عنوان کلاس‌ متفاوت است و در عوض وابستگی این زبان به پروتوتایپ‌ها می‌تواند باعث گیج شدن دولوپرها بشود (البته در نسخهٔ ES6 این مشکل رفع شده است. برای آشنایی با فیچرهای جدید این نسخه از زبان JS،‌ به مقالهٔ آموزش 10 ترفند کاربردی در جاوااسکریپت نسخهٔ ES6 به همراه مثال مراجعه نمایید).

اگر شرکت گوگل زبان برنامه‌نویسی دارت را زودتر عرضه می‌کرد، ممکن بود جاوااسکریپت را تحت‌الشعاع قرار بدهد، اما این در حالی است توسعه‌دهندگان مرورگرهای مختلف از چنین اقدامی جلوگیری کردند و این مسأله باعث شد تا گوگل در سال 2015 اعلام کند که مفسر زبان دارت به کروم اضافه نخواهد شد.

از آنجا که دارت نتوانست به رقیب مستقیم جاوااسکریپت تبدیل شود، گوگل تصمیم گرفت تا مسیر این زبان را عوض کند؛ تیم‌های توسعهٔ مختلف در گوگل زبان دارت را به عنوان یکی از زبان‌های اصلی توسعهٔ نرم‌افزار قبول کردند و سرعت بالای آن باعث شد تا همگی تحت تأثیر آن قرار بگیرند. همچنین شرکت گوگل زبان دارت را برای عموم دولوپرها به عنوان یک زبان کامپایل شونده به جاوااسکریپت عرضه کرد (مانند زبان کافی‌اسکریپت).

عرضهٔ فریمورک AngularDart بر پایهٔ زبان Dart
برای کسانی که می‌خواهند از دارت برای طراحی وب استفاده کنند، AngularDart هم عرضه شده که تیم گوگل به وسیلهٔ آن پلتفرم‌های مهمی را کدنویسی کرده است. اگر شما با AngularJS که فریمورکی اپن‌سورس برای جاوااسکریپت است آشنا باشید، می‌دانید که هدف از طراحی این فریمورک، راحت‌تر کردن فرایند کدنویسی با زبان جاوااسکریپت برای علاقمندان به این زبان بوده است و این در حالی است که فریمورک AngularDart نیز می‌شود گفت که چنین کاری برای زبان دارت کرده است.

در حقیقت، شهرت AngularDart به خاطر سرعت بالا و سادگی کد‌های آن می‌باشد. در سال گذشته، سایت HackerNoon لیستی از دلایلی که باید از این فریمورک استفاده کرد را منتشر کرد، که یکی از آن‌ها داکیومنت‌های جامع و کامل این فریمورک بود.

از طریق ریپازیتوری گیت‌هاب می‌توانید کامپوننت‌های AngularDart را که گوگل از آنها برای ساخت برنامه‌های مطابق با متریال‌ دیزاین استفاده کرده است -به خصوص اگر در حال ساخت یک برنامۀ اندرویدی هستید یا پروژۀ شما به سرویس‌های گوگل‌ مرتبط است- ببینید.

مزایای زبان برنامه‌نویسی Dart
ویژگی‌های مدرن این زبان برای هر کس که با نسل جدید زبان‌های برنامه‌نویسی مانند سوئیفت و کوتلین کار کرده باشد، آشنا است. همچنین فیچرهایی همچون Static Typing ،async/await و Generics به همراه برنامه‌نویسی فانکشنال و ... از مزایای زبان برنامه‌نویسی دارت محسوب می‌شوند.

قابلیت دیگری که می‌توان به آن اشاره کرد این است که در گذشتۀ نه چندان دور تیم توسعهٔ این زبان از قابلیت Strong Mode پرده برداشت؛ در واقع، این ویژگی از طریق تجزیه و تحلیل استاتیک Typeها و همچنین بررسی در زمان Run-time، می‌تواند قدرت زبان دارت را افزایش دهد.

اگر پیش از این با زبان‌هایی مانند Java و #C کد زده باشید، با قابلیت Static Typing این زبان‌ها آشنایی دارید. این قابلیت از بروز خطا در حین اجرای اموری مانند استریم کردن اطلاعات از لیست‌ها جلوگیری می‌کند (اگر از این زبان برای توسعهٔ اپ موبایل استفاده کنید، بروز اکسپشن در اپ‌های موبایل می‌تواند باعث خروج کاربر از اپ شود و این مساوی است با یک تجربهٔ کاربری بد). استفاده از قابلیت Strong Mode در نسخۀ اولیۀ این زبان اختیاری بود ولی در نسخۀ دوم از این زبان اجباری شده است.

برنامه‌نویسی سمت سرور با زبان Dart
هر کسی که 10 سال پیش موفقیت جاوااسکریپت در بخش سرور را تکذیب می‌کرد و احتمال موفقیت این زبان را ناچیز می‌دانست، از موفقیتی که امروزه به واسطۀ فریمورک آن‌ یعنی Node.js به دست آمده است مسلماً حیرت زده شده است! داستان در مورد زبان دارت هم تقریباً به همین شکل است. در واقع، از دارت می‌توان برای نوشتن برنامه‌هایی سمت سرور که با پروتکل HTTP تعامل برقرار می‌سازد نیز استفاده کرد. 

به طور کلی، اگر شما مسئول مدیریت سیستم (System Administrator) یا ادمین بخش‌های دیگر IT هستید، با توجه به کاربرد بالای دارت در وب، سرور و برنامه‌های موبایل می‌توانید اطمینان حاصل کنید که این زبان ارزش وقت گذاشتن و امتحان کردن را دارد.

جمع‌بندی
با این که جاوااسکریپت علیرغم معایبش از میدان کنار نخواهد رفت و این در حالی است که NPM که یک ابزار مدیریت پکیج‌های جاوااسکریپت است حاوی حدوداً نیم میلیون پکیج است که ماهانه توسط 7 میلیون دولوپر استفاده می‌شود، اما شرایط مناسبی برای شناخت بهتر زبان دارت نیز فراهم شده است، زیرا به راحتی می‌توان آن را به کد جاوااسکریپت تبدیل نمود و در همه جا استفاده کرد. همچنین ویژگی‌های مدرن آن می‌تواند باعث تسهیل روند توسعهٔ نرم‌افزار شود.

 حال نوبت به نظرات شما می‌رسد. به نظر شما چه آینده‌ای در انتظار زبان Dart است و آیا این زبان می‌تواند گوی سبقت را از زبان‌هایی همچون JS برباید؟ دیدگاه‌‌ها و نظرات خود را با ما و سایر کاربران سکان آکادمی به اشتراک بگذارید.

منبع


کیان فلاحی