بابل (کامپایلر بین زبانی)
نویسنده(های) اصلی | Sebastian McKenzie |
---|---|
توسعهدهنده(ها) | توسعه دهندگان |
انتشار پایدار | 7.8.6
/ ۲۷ فوریه ۲۰۲۰[۱] |
مخزن | |
نوشتهشده با | جاوا اسکریپت |
سیستمعامل | لینوکس, مک, سولاریس, فری بیاسدی, اپنبیاسدی, آیبیام ایآیاکس, مایکروسافت ویندوز |
نوع | کامپایلر |
مجوز | امآیتی[۲] |
وبگاه |
بابل (به انگلیسی: Babel) یک کامپایلر مبدا به مبدا رایگان و متن باز جاوا اسکریپت است که عمدتاً مورد استفاده برای تبدیل کد اکمااسکریپت ES6 به بالا به نسخه های جاوا اسکریپت است که می تواند توسط نسخه های قدیمی تر موتوری های جاوا اسکریپت اجرا شود . بابل یک ابزار محبوب که برای استفاده از جدیدترین ویژگی های زبان برنامه نویسی جاوا اسکریپت مورد استفاده واقع میشود.[۳]
توسعه دهندگان می توانند با استفاده از ویژگی های جدید زبان جاوا اسکریپت و با استفاده از بابل برای تبدیل کد منبع خود به دیگر نسخه های جاوا اسکریپت تبدیل کنند که این نسخه ها روز به روز در حال تحول میباشند.[۴] هسته نسخه بابل از ۵ میلیون بار در ماه در سال ۲۰۱۶ افزایش چشمگیری به ۱۶ میلیون بار در هر هفته درسال ۲۰۱۹ داشته است.[۵][۶]
افزونههای بابل برای تبدیل نحوهایی که به طور گسترده پشتیبانی نمیشوند به نسخههایی که قابلیت پشتیبانی گسترده تری دارند استفاده میشود. برای مثال توابع آرایه که مشخص شده در نسخه ES6 است میتواند تبدیل به یک تابع قابل استفاده و منظم در نسخه دیگر شود.[۷] نسخهBهای غیر استاندارد جاوا اسکریپت مانند JSX نیز میتواند تبدیل شوند.[۸][۹]
بابل یک محیط چند منظوره را برای پشتیبانی از ویژگیهایی که به طور کامل در محیط های جاوا اسکریپت وجود ندارد فراهم می کند؛ به عنوان مثال، روشهای ثابت مانند Array.from
و داخلی مانند Promise
فقط در ES6+ در دسترس هستند ، اما در صورت استفاده از بابل، میتوان از آنها در محیط های قدیمی استفاده کرد. [۱۰]
تفاوت بین کامپایلر های بین زبانی (transcompiler) و کامپایلر های معمولی (compiler) این است که کامپایلر کد منبع یک زبان برنامهنویسی خاص را میگیرد و آن را به کد قابل اجرای سطح ماشین تبدیل میکند درحالی که کامپایلر بین زبانی کدمنبع یک زبان برنامه نویسی را دریافت میکند و آن را به کد منبع یک زبان برنامه نویسی دیگر تبدیل میکند. این کد جدید تولید شده قابل اجرا شدن بر روی سخت افزار نیست بلکه این کد برای توسعهدهنده در زبان برنامه نویسی دیگر تولید شده است. به عنوان مثال میتوان کد منبع زبان برنامه نویسی سی شارپ را به کامپایلر بین زبانی داد و در خروجی کد منبع زبان برنامه نویسی دیگری مثل سی پلاس پلاس را داشت.
جستارهای وابسته
[ویرایش]- مقایسه مرورگرهای وب
- تایپاسکریپت
- ابزارهای توسعه وب
- بسته وب جاوا اسکریپت
منابع
[ویرایش]- ↑ "Babel.js Latest Release". Retrieved 29 February 2020.
- ↑ "babel/LICENSE at master". GitHub. Retrieved 12 May 2018.
- ↑ "Technology Radar | Emerging Technology Trends for 2017 | ThoughtWorks". www.thoughtworks.com. Retrieved 2018-05-12.
- ↑ "Why Babel Matters | codemix". codemix.com. Retrieved 2018-05-12.[پیوند مرده]
- ↑ "The State of Babel · Babel". babeljs.io. Retrieved 2018-05-12.
- ↑ "Babel's Funding Plans · Babel". babeljs.io. Retrieved 2020-08-01.
- ↑ "Plugins · Babel". babeljs.io. Retrieved 5 July 2019.
- ↑ "Introducing JSX - React". reactjs.org. Retrieved 2018-05-12.
- ↑ "Using React and building a web site on Azure". Microsoft Faculty Connection. Retrieved 2018-05-12.
- ↑ "@babel/polyfill". babeljs.io. Retrieved 5 July 2019.