بسطدهندگان OpenJDK آغاز به مالامال کردن سوراخ طراحی سایت در مشهد با جاوا 8 کردهاند، البته اندروید از آحاد خصوصیتهای جاوا8 به کارگیری نمینماید. پیشرفتدهندگان هنوز از ورژنهای کهنخیس جاوا، یعنی جاوا 6 و 7 به کار گیری مینمایند
رایاپارس و قصد ندارد توسعه چندانی در بعدی نماید. این جایی میباشد که Kotlin می آید؛ این گویش نسبتا تازه و منبع گشوده (open source) مبتنی بر ماشین مجازی جاوا (JVM)، با مهندسان اپ اندروید روبهرو میباشد.
لهجههای JVM دیگری وجود دارا هستند که شما میتوانید کوشش نمائید از آن ها در اندروید ahrefs به کارگیری نمائید، ولی کاتلین یکپارچگی را با Android Studio ارائه میدهد.
به همین دلایل میباشد که اینک مجال آغاز به کارگیری از این گویش امروزی، بغرنج و کاربردی برای پروژههای پیشرفت اندروید می باشد.
نقص به کار گیری از جاوا چیست؟
شما احتمالا چند سال از جاوا به کار گیری کردهاید (شاید ده سالها)، بدین ترتیب با آن بسیار آشنا میباشید. شما کناره کناره گویش را میشناسید، و همینطور مفاد مستند نشدهای وجود دارااست که صرفا جاواکاران سابق با سالها تجربیات با آنها مواجه گردیدهاند.
بدین ترتیب هنگامی لهجه جدیدی میاید و بقیه افراد به شما میگویند که به آن سوئیچ فرمایید، احتمالا شک و تردید خواهید داشت. اکثر عموم اینسیرتکامل میباشند، به ویژه عده ای که سالهای متعددی با جاوا عمل کرده و ارتباط صمیمانهای با آن داشتهاند.
شاید در صدر عشق و علاقهای به سوئیچ کردن از جاوا به گویش دیگری را نداشته باشید، ولی زمانی شغل با کاتلین را آغاز فرمائید متوجه تصویر بلندمرتبهتری خواهید شد، و طریقه و ذهنتان در ارتباط با آن تغییرو تحول خواهد کرد. در اینجا یکسری استدلال را برای شما می آورم:
جاوا دیرین میباشد... خیلی سابق
جاوا یکی لهجههای قابل استعمال میباشد که به زمانههای خیلی گذشته بازمیشود. البته امروزه زمانی از جاوا در اندروید به کارگیری می کنیم، حتی از مواقعی مثل لامبداها و استریمها دفاع نمینماید.
برخی شیوه های فرد ثالث برای حل برخی از این خصوصیتها با به کار گیری از ابزارهایی مثل RetroLambda، Streams backport و ThreeTenABP وجود داراست، ولی استعمال از آن ها عذابآور میباشد.
Android Nougat مبادرت جدیی را برای پناه از برخی خصوصیتهای جاوا8 با به کار گیری از کامپایلر Jack ساخته میباشد، ولی اکثری از آنان صرفا درحالتی که قابل به کارگیری میباشند که شما minSdkVersion 24 را غرض قرار دهید؛ کاری که شما نباید اعمال دهید.
اشتباهها در جاوا
یکیاز تعالیترین معایب جاوا نحوه رئیس \"null\" میباشد که سبب به NulPointerException (NPE) می شود، که تحت عنوان نادرست میلیارد دلاری شناخته گردیده است.
امروزه NPE یک کدام از رایجترین دلایل سقوط (Crash) نرمافزارهای اندروید میباشد. درحقیقت غیر ممکن میباشد نرم افزارای فارغ از یک NullPointerException ساخت خواهد شد (در شرایطی که شما این شغل را اعمال دادهاید به ما بگویید، ما خیلی مشتاق هستیم بدانیم چطور از آن اجتناب کردهاید).
و \"nullability\" (قابلیت و امکان خالی بودن) یک خلل تعالی دیگر برای اندروید میباشد. Null یک شیوه بسیار کارآمد و معمولی برای نماد دادن خلا مقدار میباشد و اندروید از آن در کادرورکها و APIهای خویش به کار گیری مینماید. عالی وجود ندارد که جاوا آن را برای بسطدهندگان جهت مدیر آن بسیار سخت میسازد.
ایراد سوم مرتبط با این حقیقت میباشد که نرمافزارنویسان اکثر اوقات طرز پیادهسازی کلاسهای داخلی غیراستاتیک و کلاسهای داخلی anonymous، که مدام یک مرجع ضمنی را برای کلاسهای فرنگی نگه میداراهستند را نادیده میگیرند. با ایفا این فعالیت، بسطدهندگان نرم افزارهای خویش را در معرض نشت یاد قرار می دهند.
وقت گیرنویسی و تشریفات
مساله دیگری که وجود داراست این میباشد که توسعه و گسترشدهندگان کد پاک و مختصر را دوست داراهستند. کد کوتاه مجال کمتر برای تایپ کردن و مجال کمتر برای قرائت را صرف مینماید و کمتر در معرض نادرست میباشد. البته با جاوا شما بایستی کد متعددی بنویسید تا حتی معمولیترین امور را ایفا دهید. چنانچه بسطدهنده اندروید باشید، احتمالا آن را تجارب کردهاید.
تشریفات قابل توجهی در APIهای جاوا وجود دارااست، و اندروید حتی این مورد ها را با بدون چاره کردن بسطدهندگان برای طی کردن فرایند زیاد، با ترتیبی خاص برای اعمال شغل های گوناگون مثل دسترسی به مقر داده حادخیس میسازد.
در حالتیکه بتوانید اکثری از این فرآیندها را معمولی فرمایید، تجارب و منفعتوری خویش را تحت عنوان گسترشدهنده اندروید به صورت قابل توجهی بهبود بخشیدهاید.