اما بزرگترین نگرانی متا زمان ساخت کندتر در 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% با زبان جاوا سازگار است – با اجازه دادن به آنها برای همزیستی، جابجایی از پایگاههای کد جاوا را آسانتر میکند.