چرا توسعه دهندگان اندروید باید در سال ۲۰۱۹ به فلاتر توجه کنند؟

چکیده این مطلب : انتشار : ۱۵ مرداد ۱۳۹۸ بدون نظر 145 بازدید

اندروید و فلاتر هر دو نوزادان گوگل هستند. توسعه نرم‌افزار اندروید در شرکت اندروید که در سال ۲۰۰۵ توسط گوگل خریداری شد آغاز شد. پروژه فلاتر در گوگل آغاز شد و اولین پروژه فلاتر SDK در سال ۲۰۱۷ منتشر شد. مقایسه توسعه اندروید بومی (Native) با توسعه نرم‌افزار فلاتر بسیار جالب است و مشاهده کنید […]

اندروید و فلاتر هر دو نوزادان گوگل هستند. توسعه نرم‌افزار اندروید در شرکت اندروید که در سال ۲۰۰۵ توسط گوگل خریداری شد آغاز شد. پروژه فلاتر در گوگل آغاز شد و اولین پروژه فلاتر SDK در سال ۲۰۱۷ منتشر شد. مقایسه توسعه اندروید بومی (Native) با توسعه نرم‌افزار فلاتر بسیار جالب است و مشاهده کنید که آینده اندروید با ظهور Fuchsia چه خواهد بود. بیایید شروع کنیم و سعی کنیم به همه این سوال‌ها پاسخ دهیم.

شرکت‌ها به دنبال گزینه‌هایی برای توسعه برنامه‌ها در مدت کوتاه و با بودجه محدود هستند. توسعه برنامه‌های کاربردی تلفن همراه برای iOS یا اندروید همیشه به دو دسته فن‌آوری مختلف نیاز دارد که منجر به دو تیم مختلف و هزینه بالاتر می‌شود. این دلیل این است که چرا شرکت‌ها شروع به جستجوی راهکارهای مبتنی بر پلتفرم کرده‌اند. محبوبیت فریمورک React-Native یکی از نمونه‌های این واقعیت است.

مگر اینکه شما در جزیره‌ای کوچک بدون اینترنت زندگی کنید، در مورد فلاتر چیزی نشنیده باشید. فلاتر یک فریمورک توسعه اپلیکیشن موبایلی است که اخیرا در بازار رونق گرفته‌است. در این مقاله، ما تاثیر بالقوه فلاتر بر روی توسعه اندروید بومی (Native) را تجزیه و تحلیل خواهیم کرد و در مورد این که چرا باید به آن توجه کنیم، بحث خواهیم کرد.

فلاتر چیست؟

اگر درباره فلاتر نشنیده اید، فلاتر یک پروژه متن باز و برای چند پلتفرم تلفن همراه، وب و دسکتاپ است که می‌تواند برای ساخت اپلیکیشن IOS و اندروید با یک کد مورد استفاده قرار گیرد. تیم فلاتر برای مدتی طولانی دور هم جمع شده‌اند، اما گوگل از سال ۲۰۱۸ زمانی که پیش‌نمایش انتشار فلاتر را اعلام کرد توجه بیشتری را به خود جلب کرده‌است. گوگل در ۴ دسامبر ۲۰۱۸ در فلاتر لایو، اولین نسخه پایدار فلاتر را با ویژگیهای جدید اعلام کرد. برخی شرکت‌های بزرگ مانند Alibaba در حال حاضر از آن برای توسعه اپلیکیشن تلفن همراه استفاده می‌کنند.

در حال حاضر، شما می‌توانید به فلاتر بعنوان React-Native نگاه کنید، اما با حمایت کامل از ویژگی‌های بومی (Native) . اگر کنجکاو هستید بیشتر یاد بگیرید، می‌توانید از مقایسه این دو در محصول آموزش فلاتر استفاده کنید.

فلاتر در مقابل توسعه اپلیکیشن اندروید بومی

توسعه برنامه‌های کاربردی اندروید در حال حاضر یک وضعیت جالب است. گوگل اخیرا Kotlin را به عنوان زبان رسمی روی جاوا اعلام کرد. گوگل همچنین در حال کار بر روی یک سیستم‌عامل دیگر برای کروم و موبایل است که نام آن Fuchsia است.

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

بسیاری از توسعه دهندگان native نظرات خود را درباره فلاتر آنلاین ابراز کرده‌اند. هم چنین بحث داغی در Quora وجود دارد که فلاتر قصد دارد جایگزین جاوا و native در توسعه اپلیکیشن اندروید شود. با نگاهی به تمامی این مقالات، واضح است که توسعه دهندگانnative  نمی‌توانند فلاتر را با اطمینان نادیده بگیرند.

فلاتر قطعا با ابزارهای توسعه اندروید native متفاوت است. اسناد رسمی فلاتر یک راهنمای شفاف برای توسعه دهندگان اندروید دارد و مفاهیم توسعه اندروید بومی را به فلاتر ارائه می‌دهد.

بومی = Native

بیایید فلاتر را با توسعه اندروید بومی با استفاده از برخی معیارهای اصلی مقایسه کنیم

  • معماری فنی
  • بهره‌وری توسعه دهنده
  • اجزای رابط کاربری
  • پشتیبانی از آزمون

معماری فنی

دسته فن‌آوری مورد استفاده برای توسعه اندروید بومی و فلاتر کاملا متفاوت است.

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

از نظر محیط برنامه‌نویسی IDE، اندروید استودیو می‌تواند هم برای توسعه نرم‌افزار فلاتر و هم برای توسعه نرم‌افزار اندروید استفاده شود. با این حال برنامه‌های فلاتر می‌توانند در ویرایشگرهای سبک‌وزن، مانند Sublime Text، Atom  یا VIM ، یا در یک محیط برنامه‌نویسی مانند IntelliJ توسعه یابند.

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

به طور خلاصه، فلاتر همه چیز مورد نیاز برای توسعه برنامه‌های کاربردی بومی را در خود موتور فلاتر دارد. راهنمای تولید کننده اندروید بومی، کل اکو سیستم توسعه برنامه اندروید را توضیح می‌دهد.

بهره‌وری توسعه دهنده

تا زمانی که برای توسعه برنامه‌های کاربردی، مهندسین اندروید نیاز به استفاده از اندروید استودیو و ابزار ساخت و پلتفرم اصلی ارائه‌شده توسط اندروید استودیو دارند. اندروید استودیو از همه ابزارهای SDK موجود در محیط برنامه‌نویسی IDE برخوردار است. این ابزارها همچنین به دستگاه‌های مجازی شبیه ساز اندروید نیاز دارند تا برنامه‌ها را اجرا کنند. هر زمان که توسعه دهندگان در برنامه خود تغییراتی ایجاد می‌کنند، باید برنامه یا وابستگی‌های ثالث را در برخی موارد بازسازی کنند تا تغییراتی در شیبه ساز و یا ابزارها را مشاهده کنند. شما ممکن است این فرآیند کند را تجربه کرده باشید چون آماده سازی Gradle می‌تواند زمان ببرد.

بارگزاری فوری فلاتر

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

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

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

اجزای رابط کاربری

توسعه دهندگان فرانت اند بیشتر زمان را صرف ساخت رابط کاربری می‌کنند.

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

موتور رابط کاربری فلاتر متفاوت است، برنامه‌های فلاتر روی موتور تولید شده و فریمورک آن اجرا می‌شوند. فلاتر از مفهوم ویجت استفاده می‌کند که می‌تواند برای ساخت رابط‌های کاربری پیچیده استفاده شود. به طور خلاصه، رابط کاربری فلاتر اساسا یک درخت statless و یا ویجت stateful است. اطلاعات موجود در کاتالوگ برای ساخت رابط کاربری پیچیده وجود دارد که هم برای Android و هم Cupertino برای IOS را پشتیبانی می‌کند. چیدمان و ویجت فلاتر نیز به خوبی پیکسل هستند.

پشتیبانی از آزمون

ابزارهای اندروید بومی پشتیبانی فوق‌العاده‌ای برای آزمایش دارند. برنامه‌های بومی می‌توانند به راحتی از اندروید استودیو یا از خط فرمان با استفاده از Gradle تست شوند بسیاری از پلتفرم‌های جاوا و Kotlin مانند JUnit موجود برای تست سطح پایین‌تر و Espresso برای تست رابط کاربر پشتیبانی می‌شوند.

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

آیا فلاتر می‌تواند بر توسعه اندروید بومی غلبه کند؟

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

گوگل در کنفرانس کنگره جهانی همراه فلاتر ۱.۷ را رونمایی کرد. آن‌ها یک چشم‌انداز و نقشه راه قوی دارند. فلاتر نیز با Fuchsia در ذهن پرورش داده می‌شود. ما نمی‌توانیم آینده را پیش‌بینی کنیم، اما فلاتر پتانسیل عبور از همه مرزها را دارد.

فلاتر برای کسب و کارهای نوپا

در کل، فلاتر گزینه‌ای برای کسب و کارها برای توسعه برنامه‌های بومی iOS و اندروید با یک کد و با منابع کم‌تر است. در حال حاضر، بسیاری از قالب‌های توسعه برنامه‌های کاربردی تلفن همراه وجود دارند که آمده‌اند و رفته‌اند، بنابراین توسعه برنامه‌های کاربردی بومی یک انتخاب محکم برای توسعه برنامه‌های کاربردی تلفن همراه باقی می‌ماند.

به نظر می‌رسد که فلاتر کاملا متفاوت از دیگر راه‌حل‌های چند پلتفرمی است. برنامه‌های فلاتر بومی و لغزنده هستند درست مثل برنامه‌های بومی.

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

ظهور Fuchsia

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

رشد نرخ مهاجرت در برنامه‌های موجود

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

گوگل از اندروید استفاده می‌کند

همچنین دید گوگل در حفظ یک فریمورک بومی و هم یک فریمورک چندپلتفرمی مهم است. ما قطعا باید به اطلاعیه‌های در کنفرانس گوگل I / O داده می شود توجه داشته باشیم.

سردرگمی در مورد توسعه اندروید بومی

سردرگمی در بین سازندگان در مورد اینکه چرا توسعه اندروید بومی، بسیار پیچیده و گیج‌کننده است، وجود دارد. این مقاله به وضوح این سردرگمی را در میان توسعه دهندگان ماهر نشان می‌دهد. با در نظر گرفتن تعداد کاربران و درآمد شرکت‌ها از برنامه‌های اندروید، نگهداری آن بسیار پیچیده و دشوار است. فلاتر می‌تواند راه‌حل این مشکل باشد چون می توان از آن برای ساخت برنامه‌هایی برای iOS و بالقوه برای Fuchsia در آینده استفاده کرد.

پیش‌بینی رشد چند پلتفرمی

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

نتیجه‌گیری

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

آیا شرکت‌ها به عنوان اولین انتخاب توسعه به فلاتر می‌روند؟

آیا این آغازی بر پایان ساخت برنامه‌های اندروید بومی است؟

آیا Dart جایگزین جاوا و Kotlin می‌شود؟

آیا توسعه دهندگان native باید یادگیری Dart را آغاز کنند؟

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

چه فلاتر را دوست بدارید یا از آن متنفر باشید، دیگر نمی‌توانید آن را نادیده بگیرید.

منبع: codemagic.io

دوستانی که این مطلب را مطالعه کرده اند، از مطالب زیر نیز استقبال کرده اند

۱۳ دلیل برای انتخاب فلاتر

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

۵ دلیل که شما را عاشق فلاتر می‌کند

احتمالا می‌دانید، فلاتر یک راه‌حل برای ایجاد برنامه‌های موبایل
با رابط کاربری زیبا می‌باشد. روش فلاتر برای طراحی ظاهری شبیه برنامه‌های وب است،
بنابراین شما می‌توانید شباهت بسیاری با HTML / CSS پیدا کنید.

نظرات

برای ارسال نظر لطفا ابتدا وارد شوید

تماس با ما