NOZHAN

طراحی اپلیکیشن اندروید جاوا یا کاتلین

انعطاف پذیری در برنامه نویسی به معنای به کار گرفتن راهکار ها و تکنولوژی های متفاوت در تعامل با یکدیگر برای توسعه بهترین محصول ممکن است.

طراحی اپلیکیشن اندروید تا پیش از معرفی زبان کاتلین، انحصارا به کمک جاوا انجام می‌شد. با معرفی رسمی زبان کاتلین در سال ۲۰۱۶ به عنوان یک زبان open-source کاتلین به عنوان زبان رسمی اندروید در کنار جاوا معرفی شد.

در این مقاله مختصرا به بررسی بین این دو زبان محدود می‌پردازیم و در نهایت گزینه مورد استفاده تیم توسعه اندروید شرکت نوژن را معرفی می کنیم.

طراحی اپلیکیشن اندروید با استفاده از زبان جاوا

جاوا زبان استاتیک و شی گرایی است که حدودا از سال ۱۹۹۵ مورد استفاده برنامه نویسان قرار می‌گیرد. امروزه بیشتر فیچر های جاوا opensource هستند و به عنوان زبان محبوب بسیاری توسعه دهندگان در حوزه طراحی اپلیکیشن موبایل، back-end، طراحی سایت و وب اپلیکیشن، و ایجاد نرم افزار های دسکتاپ مورد استفاده است.

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

طراحی اپلیکیشن موبایل اندروید با استفاده از زبان کاتلین

کاتلین را کمپانی Jet Brains در سال ۲۰۱۱ توسعه داد و در سال ۲۰۱۶ به صورت یک زبان open-source ریلیز کرد. کاتلین هم مانند جاوا، یک زبان استاتیک است که بر پایه ماشین مجازی جاوا، JVM قرار دارد. کاتلین کد ها را به جاوا اسکریپت و اندروید کامپایل ( تفسیر ) می‌کند و قابلیت بیلد کردن کد هایی که بر روی iOS اجرا شوند نیز دارد.

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

معرفی کاتلین در جامعه توسعه دهنده‌های اپلیکیشن اندروید، اتفاقی به بزرگی معرفی Swift در جامعه iOSکار ها بود.

هر یک از زبان ها مزیت های مشخصی دارند:

کاتلین در برابر جاوا

در مقایسه بین این دو زبان دو ویژگی را بیشتر مورد تاکید قرار می‌دهیم.

هندل کردن مقادیر نال یا Null Safe

در قدرتمند بودن زبان جاوا شکی نیست ولی این ویژگی زبان کاتلین یکی از بهترین هدیه ها به برنامه نویسان است.

در زبان جاوا، exception های نال شدن مقادیر یکی از سردردهای برنامه نویسی است. در واقع جاوا به کاربر اجازه نال کردن متغیر ها را می‌دهد که در ادامه کار با object ها، برای هندل کردن این مسئله برنامه نویس مجبور به نگارش خط کد های بیشتر است. در کاتلین به صورت پیش فرض هیچ متغیری قابل نال شدن نیست ( مگر در صورت تعریف توسط برنامه نویس) که همین مسئله مشکل بزرگی را حل کرده است.

سادگی و کدنویسی کمتر

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

در عین قدرتمند بودن جاوا، شکی در پیچیدگی کد های آن نیست.

کاتلین به صورتی طراحی شده است که نیاز به نوشتن کد های پایه را تا درصد قابل توجهی کاهش دهد.

جاوا زبان پیچیده ای است.
via : quiita.com

به طور کلی می‌توان این طور نشان داد که به کمک کاتلین می توان کدی robust و امن را با تعداد خطوط کمتر کد و در زمان کمتری توسعه داد.

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

یک عیب بزرگ : قدمت و جامعه برنامه نویسان

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

کاتلین به طبع جدید تر است و هواداران استفاده از آن تازه در حال ایجاد جوامع برنامه نویسی هستند. طبیعی است که مستندات کاتلین همچنان در حال به روز رسانی و شکل گیری است و منابع محدود تری برای مشکلات احتمالی و یا هندل کردن مسائل آن وجود دارد.

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

طراحی اپلیکیشن موبایل اندروید در شرکت نرم افزاری نوژن

در شرکت نرم افزاری نوژن، تیم اندروید ما از هردو زبان به صورت موازی برای طراحی اپلیکیشن موبایل استفاده می‌کنند.

به قول برنامه نویس ارشد اندروید نوژن :

هردو زبان قوی هستند و ویژگی‌هایی دارند که برای سریع تر به نتیجه رسوندن پروژه و تمیز بودن کد ها باید در کنار هم استفاده شوند.

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

چه طراحی اپلیکیشن موبایل در دستور کار باشد، چه طراحی سایت، باید در نظر داشت که هر پروژه یک کودک است که باید با نیازهایش مدارا کرد و با انعطاف هرچیزی را که در مسیر به ثمر رسیدن نیاز دارد، به کار گرفت.

طراحی اپلیکیشن موبایل در نوژن

پاسخی بگذارید

8 − دو =