۲. Kotlinx.serialization
از مشاجرههای اصلی دیگر در نرم افزارنویسی تبدیلکردن داده ها به گویشهای متفاوت طوریکه تبادل آنان میان سیستمهای گوناگون را قابلیتپذیر نماید میباشد. گاهی نیاز میباشد تا اطلاعاتی که نرم افزار اندرویدی از آن به کارگیری مینماید به فرمت دیگری تبدیل گردد تا بشود آن را به سیستم دیگری منتقل یا این که در دیتابیس یا این که فولدر ذخیره کرد. بهاین مراحل تغییر تحول فرمت طراحی اپلیکیشن در مشهد داده ها Serialization گفته میگردد.
برعکس این شرایط نیز ممکن میباشد رخداد بیفتد: Deserialization که در آن اطلاعاتی از منبع فرنگی بایستی تبدیل خواهد شد تا نرم افزار بتواند آن را بخواند. این تغییر و تحول فرمتها برای نرم افزارهایی که با سیستم ثالثی تبادل داده ها داراهستند بسیار ضروری میباشد. کتابخانهی Kotlinx.serialization، که دستهای از کتابخانههاست، این دو تغییرو تحول فرمت داده ها را در کاتلین جاری ساختن می دهد. کتابخانههای Kotlinx.serialization تبدیل داده ها به فرمتهای JSON, Protocol buffers, CBOR, Properties & HOCON را قابلیت و امکانپذیر مینمایند.
۳. Multik
این کتابخانه قرار میباشد فعالیت توسعه و گسترشدهنده نرمافزارهای اندرویدی را با آرایههای یکسری آجل (Multidimensional Arrays) در کاتلین شل نماید. آرایهها برای تودهکردن چندین مقدار درقالب یک متغیر بهعمل میروند. در کاتلین میشود آرایههای دو آینده، سه آتی و چندین آتی داشت. یک آرایهی معمولی به صورت ذیل میباشد:
هرچه بعدها آرایه بیشتر خواهد شد، عمل با آن مقداری طاقت فرساخیس و بغرنجخیس میگردد و نیاز به محاسبات دارااست. درصورتی که توسعه و گسترشدهند بخواهد روی آرایههای چندبعدی عملیات ریاضی و محاسبات ریاضی ایفا دهد هم فعالیت دشوار و غامض میگردد. کتابخانهی Multik ساختن آرایهها (تا چهار آینده) و شغل های مختلفی را که میگردد روی آنها اجرا بخشید ریلکسخیس و سریعخیس و مدلخیس مینماید. ساختن آرایهها دراین کتابخانه بهترتیب پایین میباشد (سومی کد برای ساختن آرایهی دو آجل و واپسین کد برای ساختن آرایهی سه آینده میباشد):
۴. Viktor
این کتابخانه هم، که در نصیب تحقیقاتی JetBrains تاسیس شده است، به ریلکسخیس کارکردن با آرایهها در کاتلین تخصیص دارااست. Viktor کتابخانهای متن گشوده میباشد. این کتابخانهی کاتلین قرار میباشد محاسبات ریاضی مربوطبه آرایهها و آرایههای احتمال (probability arrays) را باصرفهخیس نماید. آرایههای احتمال در کاتلین برای اجرای سبکهایی که به ماشین لرنینگ مربوط میباشد به کارگیری میگردد. کتابخانه Viktor نو به جامعهی گسترشدهندگان اپلیکیشنهای اندرویدی معرفی شدهاست (نوامبر ۲۰۲۱). در شرایطیکه میخواهید بیشتر با این کتابخانه کاتلین آشنا گردید، بایستی به وب سایت صاحبخانه آن یعنی، GitHub، مراجعهکنید.
۵. Kotlinx.datetime
واپسین کتابخانهی کاتلین که اینجا معرفی می کنم، برای سهل وآسانترشدن عمل با مجالها و تاریخها در کاتلین ایجاد شده است. این کتابخانه مولتی پلتفرم میباشد و برای فعالیت با آن بایستی کاتلین ورژنی 1.5.0 و فراتر را نصب کرده باشید. امکان مهمی که در واپسین ورژنی این کتابخانه به آن اضافه گردیده، سازش آن با Kotlinx.serialization میباشد. این کتابخانهی کاتلین Typeهای (اشکال دادههای) اختصاصیبه خویش را برای نشانهدادن مجال و تاریخ داراست. نکتهی اصلی راجعبه این تایپها (دادهها) این میباشد که برای بیشتر آن ها serializer منحصر به فرد تمجید شدهاست و گسترشدهنده بهراحتی می تواند این دو کتابخانه را باهم به کار گیری نماید. قطعهکد تحت مثالای از مخلوط دو کتابخانهی کاتلین میباشد.
۶. MockK
این کتابخانهی متنگشوده را پیشرفتدهندهای بهاسم Oleksiy Pylypenko در سال ۲۰۱۸ برای کاتلین ساخته میباشد. عمل این کتابخانه مشابه امتحانهای ماک آیلتس میباشد. باکمک این کتابخانه آزمودن عملکردهای گوناگون در نرم افزار مشابهسازی می گردد. شغل مهم این کتابخانه این میباشد که کامپوننتی را که قرار میباشد کوششاش آزموده خواهد شد ازسایر کامپوننتهای متعلق به آن مستقل مینماید. درواقع، کتابخانهی MockK فعالیت آزمایشکردن کامپوننتها در کاتلین را ریلکسخیس و با صرفهخیس مینماید. به نمونه تحت دقت نمایید. این مثالی میباشد که آفرینندهی این کتابخانه برای توضیحدادن فعالیت MockK زده میباشد. قطعهکد سوم آزمایش فانکشنی میباشد که در قطعهکد دوم به class قطعهکد نخستین اضافه گردیدهاست.
عدهبندی و سودگیری
۱. کتابخانههای کاتلین زیاد نیستند. کتابخانههای قانونی و دارای اعتبار کاتلین را JetBrains ساخته میباشد و حفاظت مینماید.
۲. ازمیان ۶ کتابخانهای که معرفی شد، دستکم ۲ کتابخانهی قانونی کاتلین (Kotlinx.coroutines & Kotlinx.serialization) برای هر گسترشدهندهای ضروری و کاربردی میباشد.
۳. درین شکی وجود ندارد که کاتلین شغل را برای گسترشدهندگان نرمافزارهای اندرویدی بسیار ریلکس نموده است. ولی یادگیری کاتلین شاید فعالیت خیلی سادگی برای همگی نباشد. بههمینبرهان میباشد که در فراگیری اپلیکیشننویسی اندروید، سرفصل هجرت از جاوا به کاتلین از گفت و گوهای بسیار اساسی آموزشی میباشد.
۲. Kotlinx.serialization
از مشاجرههای اصلی دیگر در نرم افزارنویسی تبدیلکردن داده ها به گویشهای متفاوت طوریکه تبادل آنان میان سیستمهای گوناگون را قابلیتپذیر نماید میباشد. گاهی نیاز میباشد تا اطلاعاتی که نرم افزار اندرویدی از آن به کارگیری مینماید به فرمت دیگری تبدیل گردد تا بشود آن را به سیستم دیگری منتقل یا این که در دیتابیس یا این که فولدر ذخیره کرد. بهاین مراحل تغییر تحول فرمت طراحی اپلیکیشن در مشهد داده ها Serialization گفته میگردد.
برعکس این شرایط نیز ممکن میباشد رخداد بیفتد: Deserialization که در آن اطلاعاتی از منبع فرنگی بایستی تبدیل خواهد شد تا نرم افزار بتواند آن را بخواند. این تغییر و تحول فرمتها برای نرم افزارهایی که با سیستم ثالثی تبادل داده ها داراهستند بسیار ضروری میباشد. کتابخانهی Kotlinx.serialization، که دستهای از کتابخانههاست، این دو تغییرو تحول فرمت داده ها را در کاتلین جاری ساختن می دهد. کتابخانههای Kotlinx.serialization تبدیل داده ها به فرمتهای JSON, Protocol buffers, CBOR, Properties & HOCON را قابلیت و امکانپذیر مینمایند.
۳. Multik
این کتابخانه قرار میباشد فعالیت توسعه و گسترشدهنده نرمافزارهای اندرویدی را با آرایههای یکسری آجل (Multidimensional Arrays) در کاتلین شل نماید. آرایهها برای تودهکردن چندین مقدار درقالب یک متغیر بهعمل میروند. در کاتلین میشود آرایههای دو آینده، سه آتی و چندین آتی داشت. یک آرایهی معمولی به صورت ذیل میباشد:
هرچه بعدها آرایه بیشتر خواهد شد، عمل با آن مقداری طاقت فرساخیس و بغرنجخیس میگردد و نیاز به محاسبات دارااست. درصورتی که توسعه و گسترشدهند بخواهد روی آرایههای چندبعدی عملیات ریاضی و محاسبات ریاضی ایفا دهد هم فعالیت دشوار و غامض میگردد. کتابخانهی Multik ساختن آرایهها (تا چهار آینده) و شغل های مختلفی را که میگردد روی آنها اجرا بخشید ریلکسخیس و سریعخیس و مدلخیس مینماید. ساختن آرایهها دراین کتابخانه بهترتیب پایین میباشد (سومی کد برای ساختن آرایهی دو آجل و واپسین کد برای ساختن آرایهی سه آینده میباشد):
۴. Viktor
این کتابخانه هم، که در نصیب تحقیقاتی JetBrains تاسیس شده است، به ریلکسخیس کارکردن با آرایهها در کاتلین تخصیص دارااست. Viktor کتابخانهای متن گشوده میباشد. این کتابخانهی کاتلین قرار میباشد محاسبات ریاضی مربوطبه آرایهها و آرایههای احتمال (probability arrays) را باصرفهخیس نماید. آرایههای احتمال در کاتلین برای اجرای سبکهایی که به ماشین لرنینگ مربوط میباشد به کارگیری میگردد. کتابخانه Viktor نو به جامعهی گسترشدهندگان اپلیکیشنهای اندرویدی معرفی شدهاست (نوامبر ۲۰۲۱). در شرایطیکه میخواهید بیشتر با این کتابخانه کاتلین آشنا گردید، بایستی به وب سایت صاحبخانه آن یعنی، GitHub، مراجعهکنید.
۵. Kotlinx.datetime
واپسین کتابخانهی کاتلین که اینجا معرفی می کنم، برای سهل وآسانترشدن عمل با مجالها و تاریخها در کاتلین ایجاد شده است. این کتابخانه مولتی پلتفرم میباشد و برای فعالیت با آن بایستی کاتلین ورژنی 1.5.0 و فراتر را نصب کرده باشید. امکان مهمی که در واپسین ورژنی این کتابخانه به آن اضافه گردیده، سازش آن با Kotlinx.serialization میباشد. این کتابخانهی کاتلین Typeهای (اشکال دادههای) اختصاصیبه خویش را برای نشانهدادن مجال و تاریخ داراست. نکتهی اصلی راجعبه این تایپها (دادهها) این میباشد که برای بیشتر آن ها serializer منحصر به فرد تمجید شدهاست و گسترشدهنده بهراحتی می تواند این دو کتابخانه را باهم به کار گیری نماید. قطعهکد تحت مثالای از مخلوط دو کتابخانهی کاتلین میباشد.
۶. MockK
این کتابخانهی متنگشوده را پیشرفتدهندهای بهاسم Oleksiy Pylypenko در سال ۲۰۱۸ برای کاتلین ساخته میباشد. عمل این کتابخانه مشابه امتحانهای ماک آیلتس میباشد. باکمک این کتابخانه آزمودن عملکردهای گوناگون در نرم افزار مشابهسازی می گردد. شغل مهم این کتابخانه این میباشد که کامپوننتی را که قرار میباشد کوششاش آزموده خواهد شد ازسایر کامپوننتهای متعلق به آن مستقل مینماید. درواقع، کتابخانهی MockK فعالیت آزمایشکردن کامپوننتها در کاتلین را ریلکسخیس و با صرفهخیس مینماید. به نمونه تحت دقت نمایید. این مثالی میباشد که آفرینندهی این کتابخانه برای توضیحدادن فعالیت MockK زده میباشد. قطعهکد سوم آزمایش فانکشنی میباشد که در قطعهکد دوم به class قطعهکد نخستین اضافه گردیدهاست.
عدهبندی و سودگیری
۱. کتابخانههای کاتلین زیاد نیستند. کتابخانههای قانونی و دارای اعتبار کاتلین را JetBrains ساخته میباشد و حفاظت مینماید.
۲. ازمیان ۶ کتابخانهای که معرفی شد، دستکم ۲ کتابخانهی قانونی کاتلین (Kotlinx.coroutines & Kotlinx.serialization) برای هر گسترشدهندهای ضروری و کاربردی میباشد.
۳. درین شکی وجود ندارد که کاتلین شغل را برای گسترشدهندگان نرمافزارهای اندرویدی بسیار ریلکس نموده است. ولی یادگیری کاتلین شاید فعالیت خیلی سادگی برای همگی نباشد. بههمینبرهان میباشد که در فراگیری اپلیکیشننویسی اندروید، سرفصل هجرت از جاوا به کاتلین از گفت و گوهای بسیار اساسی آموزشی میباشد.

معایب سبک ایده پردازی و فروش آن و درآمد از اندروید