توسعه دهنده اندروید | هم تیمی در coursee.org | در تلاش برای تبدیل رویا به واقعیت
فلاتر بهتر است یا کاتلین ؟ آیا مقایسه این دو صحیح است ؟ قسمت ۲
در پست قبلی ۳ مورد ۱ . هدف شما از یادگیری کاتلین یا فلاتر چیست ؟
۲.قرار هست چه چیزی بسازید ؟ ۳. در حال حاظر برنامه نویس هستید ؟
را مورد بررسی قرار دادیم در ادامه به بررسی دیگر موارد خواهیم پرداخت .
۴.شما چگونه آموزشی را یاد میگیرید ؟
چطور بهتر یاد میگیرید؟ این میتواند یک سوال مهم قبل از شیرجه زدن به مسیر جدید یادگیری برای Kotlin یا Flutter باشد.
- به دنبال دورههای خیلی توپ هستید؟
- به عنوان یک درس برای دانشگاه خود آموزش می بینید؟
- آیا برای توصیه و بهترین تجارب با حرفه ای ها در آن زمینه مشورت میکنید؟
- آیا به طور مرتب پستهای وبلاگی را دنبال میکنید ؟
- آیا شما ترجیح میدهید با کار عملی یاد بگیرید؟
- اگر که با دنبال کردن دوره و کورس های معتبر یاد میگیرید پس :
اگر شما ترجیح میدهید با دروس فصل بندی شده و دوره ایی یاد بگیرید،احتمالا برنامه نویسی نیتیو را انتخاب کنید چرا که فلاتر یک تکنولوژی جدید است و منابع آموزش عالی برای آن کم هستند.
اگر منصف باشیم دوره های بسیار عالی برای یادگیری کاتلین هم وجود نداره ولی چون جزیی از برنامه نویسی نیتیو اندروید است و برای برنامه نویسی اندروید آموزش های عالی به وفور یافت میشه پس میتوان کاتلین هم همراه آن ها یاد گرفت .
- اگر برنامه نویسی رو برای اینکه فقط درسی برای دانشگاه پاس کرده باشید دنبال می کنید پس :
من با چند نفر صحبت کردهام که علاقهمند به یادگیری توسعه اندروید در دانشگاه هستند. اگر این فرصت را دارید، حتما از آن استفاده کنید. زمانی که از دانشگاه فارغ التحصیل می شوید، احتمالا دنبال کار میگردید. داشتن یک مهارت تخصصی مانند توسعه اندروید بسیار عالی است و شما نباید نگران این باشید که آیا نیتیو بلد باشید یا Flutter را یاد بگیرید.
ابتدا یک شغل مربوطه را بگیرید، سپس در صورتی که کسی شما را استخدام کند و در ازای آن به شما پول دهد ، آنچه که نیاز است را پیش بگیرید.
- اگر که برای یادگیری به انجمن ها و دوستان و افراد با تجربه رجوع میکنید (گروه های تلگرامی و ...) :
انجمن ها و کامیونیتی های مختلف برای اندروید ، Kotlin، iOS، Flutter یک منبع عالی برای یادگیری، حل مساله، و غیره هستند.
زمانی که به دنبال افراد یا راهنمایی باشید احتمالا در زمان کمتر افراد بیشتری را که اندروید و آی اوس را به صورت نیتیو کار میکنند , پیدا خواهید کرد . بازم، این به این دلیل است که Flutter فنآوری جدیدتر است و هنوز افراد زیادی با آن کار نمیکنند.
با این حال، این بدان معنا نیست که شما حق انتخاب ندارید. توسعه دهندگان زیادی وجود دارند که Flutter کار میکنند و تیم devrel در گوگل تلاش زیادی برای شناسایی این توسعه دهندگان از طریق برنامه GDE انجام میدهد.
در هر دو مورد، در اینجا لیستی از برنامه نویسان برای پیگیری اطلاعات Kotlin و Flutter آورده شدهاست:
- اگر که برای یادگیری وبلاگ های مختلف را دنبال می کنید پس :
در هنگام یادگیری هر فنآوری جدید، پستهای بلاگ یک منبع عالی هستند. وقتی به Kotlin در مقابل Flutter فکر میکنید، دو چیز هستند که باید در ذهن داشته باشید.
فلاتر نسبتا جدید است، بنابراین منابع کمتری برای آموزش آن وجود دارد. علاوه بر این، چون که به سرعت در حال توسعه و کامل شدن است پس ممکن است خیلی از آموزش ها قدیمی باشند.
کاتلین احتمالا منابع بیشتری در اختیار دارد، اما به سرعت در حال تحول است و پستها در مورد موضوعات پیشرفته ممکن است پس از تنها چند ماه منقضی شوند.
اگر به دنبال استفاده از کاتلین برای یادگیری در اندروید و / یا iOS هستید، مدت زمان طولانی فرصت دارید که آنها را زیر و رو کنید. بسیاری از آنها همچنان مرتبط هستند، اما برخی دیگر خیر و به صورت مداوم و سریالی نیستند. پس همیشه از بروزرسانی آنها و مفید بودن آنها اطمینان حاصل کنید.
خوشبختانه، در یادگیری هر کدام Kotlin یا Flutter، انجمن ها و تیمهای devrel با نوشتن پستهای وبلاگ، ایجاد codelabs و ثبت برنامههای آموزشی، به ما کمک می کنند.
- اگر کسی هستید که با کار عملی و دست به کار شدن یاد میگیرید پس :
اگر کسی هستید که ترجیح میدهد با دست به کار شدن و بازی با کد ها یاد بگیرد، پس موفق میشوید. یادگیری هر دو Kotlin و Flutter برای شما خیلی راحت خواهد بود.
و مرجع هایی برای آموزش های بیشتر :
- Flutter Community Resources
- Kotlin Community Resources
- Flutter YouTube Channel
- Flutter on Reddit
- My Learning Kotlin YouTube Playlist
- Kotlin on Reddit
- Flutter Weekly Newsletter
- Kotlin Weekly Newsletter
۵.آیا شما خطرات انتخاب Kotlin در برابر Flutter را مد نظر قرار دادهاید؟
هنگام بکارگیری هر تکنولوژی جدید، خطراتی وجود دارد. بیاید قبل از انتخاب بین Kotlin و Flutter، برخی از این ریسکها را بررسی کنیم.
- آیا با انتخاب هریک از این دو , خطراتی شرکت و استارتاپ شما را تهدید خواهد کرد ؟
- آیا با انتخاب هریک از این دو , خطراتی برای خود شخص شما پیش خواهد آمد ؟
- آیا خطراتی برای عدم پشتیبانی هر یک از سوی شرکت سازنده وجود دارد ؟
اگر که قرار هست برای استارتاپ و سازمان خود انتخابی را داشته باشید پس این انتخاب باید بسیار دقیق صورت گیرد و تمامی موارد وابسته بررسی شود چرا که با انجام یک خطا ما با یک سازمان طرف هستیم نه یک شخص !
کاتلین به نظر پایدار میاید چرا که نزدیک به دو سال است برای اندروید پشتیبانی میشود .استفاده از کاتلین و قابلیت اضافه کردن یک فایل به کد موجود آن بسیار راحت و کاربردی است.
فلاتر یک ریسک بزرگتر است، زیرا که یک سابقه طولانی از پروژههای موفق ندارد. توسعه دهندگان کمتری وجود دارند که با تکنولوژی های آن آشنا هستند که استخدام کردن آنها برای تیم فعلی شما برای یادگیری یک چارچوب / ابزار / زبان جدید را سختتر میکند. Flutter به بهترین شکل در برنامههای greenfield کار میکند که آپدیت تدریجی کار را سخت تر میکند.
اینها همه نگرانیهای غیر بدیهی در مورد آن هستند.
علاوه بر این، گوگل سابقهای طولانی در شکست خوردن پروژه هایش دارد پس اینکه به یکباره اعلام شکست فلاتر و یا کاتلین را اعلام کند نیز وجود دارد . پس نگرانی های بسیار ریزی در این باره نیز گوشه ی ذهنتون قرار بدید.
ولی به نظر من گوگل حداقل تا دوسال دیگر به حمایت و پشتیبانی از هر دوی آنها خواهد پرداخت . و زمان کمی برای یادگیری و کسب تجربه و نیز درآمد زایی نیست . پس اگر در حال حاظر بین این دو تصمیمی نگرفته اید تفاوت خاصی در انتخاب هر کدام نخواهد بود.
خب در پایان باید کدام یک را دنبال کنیم ؟ فلاتر یا کاتلین ؟!
اگر مطالب پست قبلی و همچنین این پست را با دقت خوانده باشید و ذهنتان را به چالش کشیده باشید حتما میتوانید به این سوال با توجه به مواردی که ذکر شد پاسخ دهید ولی بگذارید من در اینجا با پیشنهاد و پاسخ های خودم به شما راهنمایی کوچکی کنم .
- اگر که برای اینکه شغلی داشته باشید به سمت برنامه نویسی می روید پس :
به دنبال یادگیری به صورت نیتیو باشید . یعنی کاتلین (جاوا) برای اندروید و سوییفت برای آی اس .
- اگر که برای ساخت اپ خود به صورت کراس پلتفرم به دنبال برنامه نویسی باشید پس :
حتما فلاتر را امتحان کنید!
- اگر که تیم شما قصد ساخت یک اپ برای هر دو پلتفرم را داشته باشد پس :
در اینجا سه گزینه ی کاتلین , فلاتر و Kotlin Multiplatform را در پیش روی خود دارید .با توجه به سطح پروژه و نیز وابستگی های موجود هریک میتواند برای کار شما مفید واقع شود.
- اگر که شما و یا تیم تان قصد ساخت یک پروژه ی تجاری و مهم و به صورت کراس پلتفرم را دارید پس :
نگاهی به Kotlin Multiplatform بیاندازید.
در اینجا این مقاله مهم و پر محتوا را به پایان خواهم رساند . امیدوارم که دوستان پاسخ خود را منطقی و خیلی روشن دریافت کنند .
سپاس از همراهی همیشگی شما
سنا عبادی , 12:19 بامداد روز شنبه 29 ام تیر ماه سال 1398
مطلبی دیگر از این انتشارات
تجربه ی 1- ساله یک برنامه نویس اندروید (نوشته ایی پویا)
مطلبی دیگر از این انتشارات
فی مصائب نشت حافظه در اندروید یا مموری لیک چیست؟(بخش اول)
مطلبی دیگر از این انتشارات
نسخه ی ۳.۴ اندروید استودیو و قابلیت های جذاب آن