زبان برنامه نویسی Dart یک زبان برنامه نویسی عمومی است که ابتدا توسط گوگل توسعه داده شد و بعد ها توسط Ecma (یک سازمان استاندارد برای سیستم های اطلاعاتی و ارتباطی) به تصویب رسید. از Dart برای ساخت وب، سرور و برنامه های کاربردی تلفن همراه استفاده می شود. این زبان رابط ها، مخلوط ها، کلاس های انتزاعی، اصطلاحات عمومی، تایپ استاتیک و سیستم نوع صدا را پشتیبانی می کند.
استفاده
سه راه اصلی برای اجرای کد های Dart وجود دارد که عبارتند از:
کامپایل به عنوان جاوا اسکریپت
برای استفاده از مروگر های اصلی وب، دارت متکی به یک کامپایلر منبع به جاوا اسکریپت است. با توجه به سایت پروژه Dart طراحی شده تا بتوان از آن برای نوشتن ابزار توسعه، توسعه نرم افزار مدرن و پیاده سازی با کارایی بالا استفاده کرد. در هنگام استفاده از یک کد دارت در یک مرورگر وب، کد با استفاده از کامپایلر Dart2js به جاوا اسکریپت وارد می شود. کامپایل به عنوان جاوا اسکریپت سازگار با تمام مروگر های اصلی است و نیازی به مرورگر برای اتخاذ دارت نیست.
مستقل
کیت توسعه نرم افزار (SDK) دارت با یک Dart VM مستقل حمل می شود که اجازه می دهد کد Dart در محیط رابط خط فرمان اجرا شود. همان طور که ابزار زبان موجود در SDK Dart بیشتر در دارت نوشته شده است، Dart VM مستقل نیز بخش مهمی از SDK است. این ابزار شامل کامپایلرDart2js و مدیر بسته به نام pub است.
پیش از زمان وارد شده
کد دارت می تواند به صورت اتوماتیک به کد ماشین (مجموعه دستور العمل های اصلی) تبدیل شود. برنامه های ساخته شده با Flutter (برنامه SDKتلفن همراه که با Dart ساخته شده است) به صورت خودکار به عنوان کد دارت به فروشگاه برنامه ها اعمال می شوند.
برنامه های تلفن همراه بومی
گوگل Flutter را برای توسعه برنامه های بومی موبایل در هر دوی Android و IOS معرفی کرد. Flutter یک برنامه SDK تلفن همراه است که با چارچوب، ویجت ها و ابزار ها کامل شده است و به توسعه دهندگان امکان راه اندازی برنامه های تلفن همراه را می دهد. Flutter یک نرم افزار منبع باز است که با زبان برنامه نویسی دارت نوشته شده و با Firebase و سایر نرم افزار های SDK موبایل کار می کند.
-برنامهنویسی شی گرا
دارت یک زبان برنامهنویسی شی گرا به همراه رابطها و ویژگیهای تایپ اختیاری میباشد. همچنین از میکسینها، کلاسهای انتزاعی، ژنرالهای اصلاح شده، تایپ استاتیک و یک سیستم قوی پشتیبانی می کند.
منبع آزاد
برنامهنویسی دارت یک زبان منبع باز بوده و با مجموعه ای از ابزارها و اجرای Dart Code سر و کار دارد. این زبان با استاندارد ECMA شناخته میشود و دارای مجوز BSD است.
پشتیبانی از تمام مرورگرها
کد Dart را میتوان با استفاده از انتقال منبع به منبع، وارد JavaScript کرد. یک کامپایلر به نام dar2js وجود دارد که کد Dart را به یک کد جاوا اسکریپت بهینه شده تبدیل می کند و همین امر باعث شده در اکثر مرورگرها قابل اجرا باشد.
پیشرو زمان (AOT)
دارت از مدل تلفیقی Ahead-Of-Time (AOT) پشتیبانی می کند. در این مدل میتوان کد Dart را به طور مستقیم به کد بومی تبدیل کرد و در ادامه اپلیکیشن هایی که با Flutter ساخته شده اند به عنوان کد AOT کامپایل دارت، به اپ استورها منتقل کرد.
اجرای انعطاف پذیر
زبان برنامه نویسی دارت معمولا در گردآوری و اجرا بسیار انعطاف پذیر است. کد دارت میتواند با AOT یا JIT کامپایل شود و همچنین به زبانهای دیگر تفسیر یا به آن تبدیل شود. اما این تمام داستان دارت نیست؛ نه تنها ترکیب و اجرای دارت منعطف است، بلکه سرعت بسیار بالایی دارد.

غیرهمزمانی برنامه دارت
دارت یک برنامهنویسی غیرهمزمان است که این امکان را میدهد برنامههای شما بدون مسدود شدن اجرا شود. این برنامه به خاطر تک رشتهای بودن، به توسعهدهنده کمک میکند تا از تکمیل عملکردهای مهم تا زمان اتمام پروژه، بدون هیچ آگاهی قبلی اطمینان حاصل کند.
کتابخانه ها
دارت شامل مجموعهای غنی از کتابخانههای داخلی مانند هسته، Async، ریاضیات، تبدیل و غیره است که در Dart SDK نصب شده اند. دارت به شما این امکان را میدهد، کد دارت را در کتابخانهها مرتب کنید تا اسامی و استفادهی مجدد را در اختیار شما قرار دهد.
سینتکس های آشنا
در مورد سینتکسهای دارت اصلا نیازی به نگرانی نیست. اگر به زبانهای سی پلاس پلاس و جاوا مسلط باشید، به راحتی میتوانید سینتکسهای دارت را پیادهسازی کنید.