زبان های برنامه نویسی: چرا متا برنامه های اندروید خود را از جاوا به کاتلین منتقل می کند

خبر بالقوه خوب برای پذیرش Kotlin در جاهای دیگر این است که متا چندین ابزار تبدیل داخلی Kotlin را در GitHub منتشر کرده است که دیگران ممکن است بتوانند مستقیماً از آنها استفاده کنند، یا حداقل می‌توانند دیگران را برای یافتن راه‌هایی برای خودکارسازی تبدیل تشویق کنند.

دور شدن از جاوا که در حال حاضر برای توسعه اندروید استفاده می کنیم و رفتن به کاتلین کار بی اهمیتی نیستعمر استرولوویچ، مهندس نرم افزار در فیس بوک، خاطرنشان می کند.

Kotlin یک زبان محبوب است، اما در مقایسه با جاوا، شکاف محبوبیت واضح است. جاوا دومین یا سومین زبان محبوب جهان است (بسته به نحوه اندازه گیری این زبان). این بدان معناست که ابزارهای کمتری در دسترس هستند. بدتر از این، همه ابزارهای Kotlin باید قابلیت همکاری Kotlin و Java را در نظر بگیرند، که اجرای آنها را پیچیده می‌کند.”

توسعه دهندگان-امنیت

تصویر: Getty Images/Nitat Termmee

“امروزه برنامه های اندروید ما برای فیس بوک، مسنجر و اینستاگرام هر کدام بیش از 1 میلیون خط کد کاتلین دارند و نرخ تبدیل در حال افزایش است. در مجموع، پایگاه کد اندروید ما بیش از 10 میلیون خط کد کاتلین دارد.” استرولوویچ.

در مورد آخرین نکته، استرولوویچ به جمع‌آوری زمان‌های بعد از آن اشاره می‌کند پروژه مشتری HTTP، OkHttp، در سال 2019 از جاوا به Kotlin تغییر مکان داد. OkHttp کوچک است و تنها 24000 خط Kotlin دارد. زمان کامپایل آن در جاوا 2.4 ثانیه در مقایسه با 10.2 ثانیه در Kotlin بود.

اما بزرگترین نگرانی متا زمان ساخت کندتر در Kotlin در مقابل جاوا است.

استرولوویچ گفت: “ما اعداد بسیار بالاتری را دیده ایم که به صورت آنلاین نقل شده اند، اما ما گمان می کنیم که این اعداد از نمونه های خاصی گرفته شده اند.” ما هنوز از این تعداد خوشحالیم، زیرا خطوط حذف شده معمولاً کد دیگ بخاری هستند که نسبت به همتای کوتاهتر Kotlin آن کمتر ضمنی است.”

مهاجرت به Kotlin در حال انجام است، با مخازن برنامه Android متا در حال حاضر شامل 10 میلیون خط کد Kotlin است.

“ما از همان ابتدا می دانستیم که زمان ساخت کاتلین طولانی تر از جاوا خواهد بود. زبان و اکوسیستم آن پیچیده تر است و جاوا برای بهینه سازی کامپایلر خود دو دهه تلاش داشت. از آنجایی که ما چندین برنامه بزرگ داریم، عواقب طولانی تر آن زمان ساخت می تواند بر تجربه توسعه دهندگان ما تأثیر منفی بگذارد.”

Kotlin اولین بار توسط JetBrains، سازنده ابزارهای توسعه دهنده یا IDE هایی مانند IntelliJ توسعه یافت. گوگل از سال 2017 از Kotlin برای برنامه های اندروید استفاده می کند و این جفت از سال 2018 به طور مشترک از زبان Kotlin از طریق Kotlin Foundation پشتیبانی می کنند.

مانند مهندسان فیس بوک جزئیات در سال گذشته، در حالی که پذیرش کاتلین می تواند روان باشد، در مقیاس دشوار است. فیس بوک از سیستم ساخت Buck خود در مقابل IntelliJ/Android Studio IDE استفاده می کند که از Gradle استفاده می کنند.

استرولوویچ می گوید که تا کنون متا به طور متوسط ​​۱۱ درصد کاهش در اندازه پایگاه کد خود داشته است. تیم Google Home گزارش کرده است که در هنگام مهاجرت جدید، اندازه پایگاه کد برنامه خود را 33 درصد کاهش داده است توسعه ویژگی به Kotlin.

اما، با وجود مزایای Kotlin که انگیزه سوئیچ متا را ایجاد کرد، استرولوویچ چندین معایب قابل توجه را بیان می کند که این حرکت را حداقل برای برنامه های بزرگ خطرناک می کند.

این یک وظیفه بزرگ برای شرکتی با هزاران توسعه دهنده و بسیاری از برنامه های اندرویدی بزرگ است، از جمله فیس بوک، اینستاگرام، مسنجر، پورتال و هدست Quest VR آن.

مهندسان متا تصمیم گرفتند تقریباً تمام کدهای خود را به جای نوشتن کدهای جدید با استفاده از Kotlin و باقی گذاشتن بیشتر کدهای موجود در جاوا به کاتلین تبدیل کنند (رویکرد دوم این است که چگونه پروژه هسته لینوکس و پروژه منبع باز اندروید Rust را به پایگاه های کد خود معرفی می کنند) .

جاوا یکی از سه زبان برنامه نویسی برتر است، به دلیل تسلط آن در برنامه های کاربردی سازمانی، در حالی که Kotlin یک زبان برنامه نویسی کمتر محبوب است اما همچنان 20 زبان برنامه نویسی برتر است. تغییر متا از جاوا به Kotlin برای توسعه برنامه اندروید، با توجه به مقیاس متا و اندازه برنامه های آن، نقطه عطفی است.

اولاً، شکاف بزرگ در محبوبیت بین جاوا و کاتلین باعث می‌شود که دومی ابزارهای کمتری داشته باشد، و این ابزارها که باید قابلیت همکاری Kotlin-Java را در نظر بگیرند، پیچیده هستند. علیرغم قابلیت همکاری 100% این زبان ها، متا دریافته است که نمی تواند تمام جاوا را حذف کند.

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

استرولوویچ چندین ابزار منبع باز Kotlin را که متا در آنها مشارکت داشته است، مانند کتابخانه “Pygments” که برای “همتراز کردن تجربه با جاوا” استفاده می کند، تشریح می کند. متا همچنین Ktfmt، پلاگینی برای IntelliJ و Android Studio ساخته است که «فرمت‌کننده کوتلین قطعی بر اساس کد و فلسفه فرمت google-java» را ارائه می‌کند.

در سال 2019، تیم اندروید گوگل از رویکرد “کوتلین اول” استفاده کرد. گوگل بیش از 70 برنامه اندرویدی دارد که حداقل تا حدی با Kotlin ساخته شده اند، از جمله Maps، Home، Play، Drive و Messages. گوگل می‌گوید در مقایسه با جاوا، Kotlin کارآمدتر است، کد امن‌تر و پایگاه کد کوچک‌تری تولید می‌کند، و 100% با زبان جاوا سازگار است – با اجازه دادن به آنها برای همزیستی، جابجایی از پایگاه‌های کد جاوا را آسان‌تر می‌کند.


منبع: https://www.zdnet.com/article/programming-languages-why-meta-is-moving-its-android-apps-from-java-to-kotlin/#ftag=RSSbaffb68

همچنین: کسب و کارهای کوچک به کمک بیشتری در زمینه فناوری نیاز دارند. در اینجا پنج راه برای دریافت آن وجود دارد

همچنین: حقوق مسدود می شود و بازگشت به دفتر؟ نه برای توسعه دهندگان نرم افزار