Flutter یا React Native از دید یک توسعه دهنده

Flutter یا React Native از دید یک توسعه دهنده

بروزرسانی : 4 ماه پیش

flutter vs react native مقایسه بین flutter و  react native - ری اکت نتیو و فلاتر

Flutter یا React Native از دید یک توسعه دهنده : 

React Native توسط فیسبوک و  Flutter توسط گوگل ساخته شده است و دو تکنولوژی داغ در بازار کار برای توسعه ی اپلیکیشن های موبایل هستند . در این مقاله سعی میکنیم از دید یک توسعه دهنده ی موبایل این دو تکنولوژی را با هم دیگر مقایسه کنیم پس با ما همراه باشید ...

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

و آنچه بیشتر از هر چیزی اهمیت دارد این است که به دنبال گزینه های توسعه ی اپلیکیشن موبایل ، مخصوصا برای android و ios می باشند که هم سرعت بیشتری داشته باشند هم منابع کمتری نیاز داشته باشند . 

دو شرکت اپل و گوگل که سازندگان سیستم عامل های android و ios برای گوشی های هوشمند هستند محیط ها و زبان های برنامه نویسی اختصاصی خود را ارائه داده اند . برای توسعه اپلیکیشن های ios شرکت اپل میتوانید از محیط Xcode و زبان Swift و همچنین برای android میتوایند از محیط Android Studio و زبان های رسمی Java و Kotlin بهره بگیرید . در هر صورت نوشتن اپلیکیشن به این زبان ها و همچنین تسلط بر این محیط ها نیاز به افرادی دارد که دو تکنولوژی کاملا متفاوت را تسلط داشته باشند که هم برای شرکت ها هزینه بر هست و هم پیدا کردن افراد کاملا مسلط و قابل اعتماد زمان بر و کار را سخت تر خواهد کرد . بخاطر همین دلایل شرکت ها به سراغ تکنولوژی های کراس پلتفرم رفته اند و تولید اپلیکیشن بصورت کراس پلتفرم را به تولید نیتیو آنها ترجیح میدهند ، چون برای هر دو سیستم عامل android و ios تنها با یک تکنولوژی واحد برنامه نویسی میشود و اکثر کدهای نوشته شده برای این دو یکسان است . 

 

فلاتر ( Flutter )  و ری اکت نیتیو ( React Native ) چیست ؟ 

فریمورک ری اکت نیتیو ( React Native ) توسط تیم فیسبوک ساخته شده است و در سال 2015 بصورت کدباز در آمد . از طرف دیگر  Flutter در مراسم  I/O 2017 گوگل معرفی شد و از آن زمان تا کنون ، بسیار پیشرفت کرده است . هر دوی این تکنولوژی ها به توسعه دهندگان اپ های موبایل کمک میکنند تا بتوانند اپلیکیشن های کراس پلتفرم خود را تنها با یک زبان برنامه نویسی و با سرعت بیشتر ، تولید کنند . 

React Native در حال حاضر یک ابزار بالغ است و دارای یک جامعه بزرگ است، اما Flutter  نسبتا جدید است و  از سال 2017 در حال پذیرش افراد جدیدی است. در این پست، هر کدام از این ها را با استفاده از 10 معیار متفاوت مقایسه می کنیم :

  1. زبان برنامه نویسی
  2. معماری فنی
  3. نصب
  4. راه اندازی و تنظیمات مورد نیاز
  5. کامپوننت های UI و API های توسعه
  6. بهره وری توسعه دهندگان
  7. جامعه ی پشتیبان
  8. پشتیبانی از تست
  9. پشتیبانی از ساخت و فرآیند انتشار
  10. DevOps و پشتیبانی از CI / CD

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

 

1 - زبان برنامه نویسی : 

یکی از مزیت های کلیدی استفاده از ابزارهای کراس پلتفرم این است که تنها از یک زبان برنامه نویسی استفاده میشود تا توسعه دهنده بتواند هم برای android و هم برای ios اپلیکیشن تولید کند .

 

زبان مورد استفاده React Native  زبان جاوا اسکریپت ( JavaScript ) : 

 

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

 

زبان مورد استفاده Flutter زبان دارت  ( Dart ) : 

 

Flutter از زبان Dart بهره میگیرد این زبان در سال 2011 توسط شرکت گوگل عرضه شده است که به ندرت توسط برنامه نویسان مورد استفاده قرار گرفته بود . قواعد دستوری Dart برای برنامه نویسان جاوا اسکریپت و جاوا بسیار آشناست و بسیاری از مفاهیم شی گرائی را پشتیبانی میکند برای شروع زبان برنامه نویسی Dart مستندات روان و ساده ای در وب سایت این زبان موجود است که از  اینجا میتوانید ببینید . 

 

نتیجه گیری نهائی : 

 

همانطور که در بالا اشاره کردیم زبان برنامه نویسی جاوا اسکریپت ( javascript ) توسط جامعه ی زیادی از برنامه نویسان استفاده میشود Dart نیز امکانات عالی دارد اما به ندرت توسط برنامه نویسان استفاده میشود و جامعه ی خوبی ندارد با توجه به این دلایل، واضح است که React Native در معیار زبان برنامه نویسی ، پیروز است  . 

 

پیروز : React Native

امتیاز ها :  React Native=1 — Flutter=0

flutter vs react native مقایسه بین flutter و  react native - ری اکت نتیو و فلاتر

2 - معماری فنی : 

 

زمانی که فریمورک کراس - پلتفرم برای توسعه ی اپ های اندرویدی انتخاب میکنیم ، ضروری است که معماری فنی آن را در نظر بگیریم . با دانستن باطن فریمورک ، ما می توانیم تصمیم آگاهانه بگیریم و آن چیزی را که برای پروژه ما بهتر است انتخاب کنیم.

 

React Native — Flux : 

 

معماری React Native به شدت برپایه ی معماری محیط اجرائی JS اجرا می شود که بعنوان  JavaScript bridge شناخته میشود .  کدهای جاوا اسکریپت به کدهای نیتیو runtime کامپایل میشوند . React Native از معماری به نام  Flux که توسط فیسبوک ساخته شده است بهره میگیرد .در وب سایت Flux میتوانید جزئیات بیشتری در مورد این معماری ببینید اما بصورت خلاصه در نظر داشته باشید که React Native از JavaScript bridge استفاده میکند تا با ماژول های نیتیو ارتباط برقرار کند . 

آپدیت 2023 :

در سال 2023 معماری Flux منسوخ شد و در صفحه ی گیتهاب این پروژه اعلام شده دیگر پشتیبانی نخواهد شد.

 

Flutter — Skia : 

 

Flutter از فریمورک Dart استفاده می کند که دارای کامپوننت داخلی بسیار زیادی است، بنابراین اندازه آن بزرگتر است و اغلب نیازی به پلی برای ارتباط با ماژولهای بومی ندارد . Dart دارای فریمورک های بسیار زیادی مانند Designing Material و Cupertino است که درون آن قرار گرفته است  و تمام تکنولوژی های مورد نیاز برای توسعه برنامه های تلفن همراه را فراهم می کند.

فریمورک Dart با استفاده ازموتور Skia زبان  C++ که دارای تمام پروتکل ها، ترکیب ها و کانال ها است . معماری موتور Flutter در مستندات Github Wiki آن توضیح داده شده است . به طور خلاصه، Flutter هر چیزی که نیاز دارد را درون موتور Flutter دارد . 

 

نتیجه گیری نهائی : 

 

موتور Flutter  اکثر کامپوننت های بومی را درون خود دارد و نیاز به ارتباط دهنده ی خاصی بین کامپوننت های بومی را ندارد ولی React Native برای استفاده از کامپوننت ها نیاز به JavaScript bridge دارد که باعث پرفرمنس ضعیفتری میشود . 

 

پیروز : Flutter

امتیاز ها :  React Native=1 — Flutter=1

flutter vs react native مقایسه بین flutter و  react native - ری اکت نتیو و فلاتر

3 - نصب  : 

 

مسئله ی نصب مخصوصا برای زمانی که برنامه نویس تازه شروع میکند بسیار مهم است  . مراحل نصب باید ساده و قابل درک باشد . 

 

نصب  React Native با استفاده از NPM :

 

React native توسط پکیج منیجر مربوط به Node.js نصب میشود که NPM نامیده میشود . برای افرادی که با جاوا اسکریپت کار کرده باشند نصب React Native آسان خواهد بود اما بقیه ی برنامه نویسان باید کار با NPM را یاد بگیرند .NPM می تواند بسته ها را به صورت محلی یا سراسری نصب کند. این در حالی است که کاربران سیستم عامل macOS باید برنامه ی مدیریت بسته های  HomeBrew  را داشته باشند . بصورت خلاصه باید دستور زیر برای نصب در مک نوشته شود :

$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
$ brew install node

$ brew install watchman

$ npm install -g react-native-cli

بعد از اجرای این دستورات میتوانید به React Native از طریق ترمینال یا خط فرمان دسترسی داشته باشید . 

 

نصب Flutter — دانلود باینری از منبع  : 

 

Flutter را می توان با دانلود باینری برای یک پلت فرم خاص از Github نصب کرد . در سیستم عامل مک باید فایل  flutter.zip  را دانلود کرد و آنرا به عنوان متغیر PATH  معرفی کرد . این کار توسط خط فرمان طبق زیر انجام میشود : 

$ curl -O https://storage.googleapis.com/flutter_infra/releases/beta/macos/flutter_macos_v0.7.3-beta.zip

$ unzip flutter_macos_v0.7.3-beta.zip

export PATH=[PATH_TO_FLUTTER__DIRECTORY]/flutter/bin:$PATH

 

Flutter باید فرایند نصب شدن خود را بهبود ببخشد و از برنامه های مدیریت بسته مثل Homebrew, MacPorts, YUM, APT پشتیبانی کند تا نصب شدن آن راحت تر باشد و گام های کمتری نیاز داشته باشد . 

 

نتیجه گیری نهائی : 

 

هر دو تکنولوژی Flutter و React Native از برنامه های مدیریت بسته های بومی در هر سیستم عاملی برای نصب خود استفاده میکنند ، اما نصب Flutter به نظر می رسد که نیاز به کمی کار اضافه دارد از جمله دانلود کردن فایل باینری و افزودن ان به PATH سیستم عامل و ... که ممکن است برای توسعه دهندگان غیر جاوا اسکریپت مفید باشد . React Native را می توان با استفاده از برنامه ی مدیریت بسته ها  و بدون نیاز به دانلود فایل باینری از منبع نصب کرد.

 

پیروز : React Native

امتیاز ها :  React Native=2 — Flutter=1

flutter vs react native مقایسه بین flutter و  react native - ری اکت نتیو و فلاتر

4 - راه اندازی و تنظیمات مورد نیاز : 

 

فرایند راه اندازی کامپیوتر توسعه دهنده برای استفاده از فریمورک جدید ، طول می کشد. این فرآیند نیاز به تنظیمات زیادی نسبت به نصب آن دارد. تکنولوژی مورد نظر باید مستندات لازم از دریافت تا نصب و راه اندازی آن را داشته باشد . 

 

راه اندازی و تنظیمات React Native : 

 

مستندات شروع فریمورک React Native  فرض میکند توسعه دهنده قبلا تمام تنظیمات لازم برای توسعه ی  ios و android را انجام داده است . اطلاعات کمی در مورد ابزار خطی Xcode وجود دارد، اما برای رفتن به اندازه کافی کافی نخواهد بود ، مستندات مستقیما به گام ایجاد یک پروژه جدید میپردازند . 

یک پروژه جدید React Native می تواند با استفاده از دستورات زیر اجرا شود و در شبیه ساز iOS اجرا شود : 

 

$ react-native init MyProject
$ cd MyProject
$ react-native run-ios

در مستندات React Native فعلا هیچ راهنمایی در مورد تنظیمات توسعه ی اندروید گفته نشده است . 

 

راه اندازی و تنظیمات  Flatter : 

 

راهنمای شروع برای Flutter دارای اطلاعات دقیق در مورد راه اندازی IDE و پلت فرم برای هر دو iOS و Android است . شما می توانید تمام جزئیات نصب مورد نیاز Flutter را برای macOS در اینجا بخوانید .

همچنین Flutter دارای یک ابزار CLI به نام flutter doctor است که می تواند از طریق تنظیمات به توسعه دهندگان کمک کند و بررسی می کند که چه ابزارهایی بر روی دستگاه محلی نصب شده است و چه ابزارهایی باید پیکربندی شوند.

یک صفحه جداگانه در مورد چگونگی پیکربندی ویراستاران برای درگیر شدن با Flutter وجود دارد .

هنگامی که تمام راه اندازی انجام شد ، می توانیم یک برنامه ی جدید  Flutter از طریق CLI ایجاد و اجرا کنیم 

$ flutter create MyProject
$ cd MyProject
$ flutter run

در این مرحله، شما باید تمام تنظیمات و تنظیمات پروژه Flutter را داشته باشید.

 

نتیجه گیری نهائی : 

از مقایسه در بالا، روشن است که Flutter بهتر است بخاطر ارائه ی مستندات بهتر و پشتیبانی CLI برای تنظیم و پیکربندی است.

 

پیروز : Flutter

امتیاز ها :  React Native=2 — Flutter=2

flutter vs react native مقایسه بین flutter و  react native - ری اکت نتیو و فلاتر

5 - کامپوننت های UI و API های توسعه : 

 

هنگام ایجاد برنامه های موبایل کراس-پلتفرم ، پشتیبانی از کامپوننت های بومی ،مورد کلیدی می باشد . بدون پشتیبانی از کامپوننت های بومی هر پلتفرم ، اپ تولید شده مشابه اپ تولید شده باز زبان اصلی آن نخواهد بود . 

خیلی مهم است که فریمورک ، API لازم برای دسترسی به ماژول های بومی را داشته باشد . 

 

React Native — کامپوننت های کمتر  : 

 

هسته ی React Native تنها کامپوننت های رندرینگ مربوط به رابط کاربری و همچنین API های دسترسی به دستگاه را در اختیار شما میگذارد . 

به منظور دسترسی به بسیاری از ماژول های بومی، React Native به کتابخانه های جانبی تکیه میکند و React Native به کتابخانه های جانبی بسیار وابسته است .

لیستی از کامپوننت ها و API های را میتوانید اینجا ببینید . 

 

Flutter — کامپوننت های زیاد : 

 

فریمورک Flutter همراه با کامپوننت های رندر رابط کاربری ، API های دستگاه ، navigation ، تست اپ ، ابزارهای مدیریتی و بسیاری از کتابخانه ها  میباشد 

غنی بودن این کامپوننت ها درون Flutter باعث میشود دیگر نیاز به کتابخانه های جانبی نباشد ، اگر شما Flutter را راه اندازی کردید تمام نیازمندی های توسعه ی اپ داخل ان وجود دارد . Flutter همچنین ویجت هایی برای Material Design و Cupertino  دارد که اجازه میدهد توسعه دهندگان اجازه میدهد کامپوننت های UI را به سادگی رندر کنند . 

 

نتیجه گیری نهائی : 

همانطور که بالا هم خواندید React Native به کتابخانه های جانبی وابسته است در حالی که Flutter کامپوننت ها و API های غنی را درون خود دارد . 

 

پیروز : Flutter

امتیاز ها :  React Native=2 — Flutter=3

flutter vs react native مقایسه بین flutter و  react native - ری اکت نتیو و فلاتر

6 - بهره وری توسعه دهندگان : 

 

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

 

بهره وری React Native :

 

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

 

بهره وری Flutter : 

 

Flutter هم ابزارها و امکانات بسیاری دارد که کار تست کردن اپلیکیشن را سرعت میبخشد ولی در نظر داشته باشید که باید مفاهیم تازه را بیاموزید برای مثال Dart یک زبان جدید است و افراد کمی با آن آشنا هستند همچنین در محیط های توسعه ی کمی زبان Dart شناخته میشود و برای این زبان برنامه نویسی امکانات فراهم شده است .

 

نتیجه گیری نهائی : 

اگر بخش بالا را مطالعه کرده باشید مطمئنا متوجه شدید که Ract Native از نظر زبان برنامه نویسی و محیط توسعه ، برتر است . Flutter در این مورد یک ابزار جدید است اما در آینده با افزوده شدن برنامه نویسان جدید مطمئنا رشد بیشتری خواهد کرد . 

 

پیروز : React Native

امتیاز ها :  React Native=3 — Flutter=3

flutter vs react native مقایسه بین flutter و  react native - ری اکت نتیو و فلاتر

7 - جامعه ی پشتیبان :

 

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

 

جامعه ی برنامه نویسی React Native  : 

 

React Native در سال 2015 معرفی شد و به سرعت محبوب شد . در گیت هاب React Native یک انجمن برای توسعه دهندگان و همچنین رویدادها و کنفرانس های مختلفی برای این فریمورک در سطح جهانی وجود دارد . یکی از جدیدترین این کنفرانس ها ، React Native EU  بود که در کشور لهستان برگزار شد اما در شهرهای دیگر جهان نیز برگزار میشود . 

 

جامعه ی برنامه نویسی Flutter : 

 

Flutter مدت ها بود ساخته شده بود اما زمانی مورد توجه همه قرار گرفت که در رویداد Google I/O  سال 2017 معرفی شد ، جامعه Flutter این روزها به سرعت در حال رشد است ، ملاقات ها و کنفرانس ها به صورت آنلاین برگزار می شود ، بزرگترین رویداد آینده Flutter Live در ماه دسامبر خواهد بود.

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

 

نتیجه گیری نهائی :

 از زمانی که React Native عرضه شد، جامعه و منابع بومی بوجود آمده اند و قابل دسترسی هستند ، ولی  Flutter هنوز نسبتا جدید است، اگر چه جامعه ی استفاده کنندگان آن  به سرعت در حال رشد است .

 

پیروز : React Native

امتیاز ها :  React Native=4 — Flutter=3

flutter vs react native مقایسه بین flutter و  react native - ری اکت نتیو و فلاتر

8 - پشتیبانی از تست :

 

تست بخش بسیار مهمی از توسعه ی اپلیکیشن های کراس-پلتفرم است که فیدبک سریعی ازکد نوشته شده را میتوان دریافت کرد . توسعه دهنده برای تست قسمت های مختلف ، ادغام آنها ، تغییرات در UI اپلیکیشن به سیستم تست نیاز دارد . 

 

React Native : 

reactNative یک فریمورک جاوا اسکریپتی است و چند فریمورک تست انواع واحدها ، در جاوا اسکریپت وجود دارد . ابزارهایی مانند Jest را می توان برای تست فوری استفاده کرد

با این حال، هنگامی که برای تست یکپارچگی یا سطح UI  مطرح میشود ، هیچ پشتیبانی رسمی برای React Native وجود ندارد.

ابزار جانبی مانند Appium و Detox وجود دارد که می تواند برای آزمایش برنامه های ReactNative استفاده شود، اما آنها به طور رسمی پشتیبانی نمی شوند.

 

Flutter : 

 

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

 برای اطلاعات دقیق تر شما همچنین می توانید وبلاگ Nevercode را مطالعه کنید که درباره ی آزمایش برنامه های Flutter و در مورد چگونگی آزمایش برنامه های Flutter نوشته شده است 

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

 

نتیجه گیری نهائی :

جامعه ReactNative هیچ پشتیبانی رسمی برای تست یکپارچگی و سطح UI ندارد، در حالی که Flutter دارای مستندات عالی و مجموعه ای غنی از امکانات تست را داراست . 

 

پیروز : Flutter

امتیاز ها :  React Native=4 — Flutter=4

flutter vs react native مقایسه بین flutter و  react native - ری اکت نتیو و فلاتر

9 - پشتیبانی از ساخت و فرآیند انتشار : 

 

انتشار اپلیکیشن های تولید شده در مارکت ها دردسر های خود را دارد . این مراحل شامل امضا کردن فایل نهائی تولید شده می باشد که در صورت تولید اپلیکیشن های کراس پ-پلتفرم کار سخت تر نیز میشود . 

 

انتشار اپلیکیشن های React Native : 

 

مستندات رسمی ReactNative هیچ گام خودکار برای انتشار برنامه های iOS یا android را ندارد . راهنما ها و مستندات زیادی در سرتاسر وب وجود دارد که به شما کمک میکند خروجی ios و android بگیرید و از آنها در مارکت ها یا جاهای دیگری استفاده کنید . 

اما ابزارهای جانبی مثل fastlane  هم وجود دارد تا با کمک آن خروجی android و ios تولید کنید . 

این به این معنی است که React Native باید تولید و انتشار اپ های خود به کتابخانه های جانبی تکیه کند .

 

انتشار اپلیکیشن های Flutter : 

 

Flutter یک رابط خط فرمان قوی دارد.

ما می توانیم فایل باینری از اپلیکیشن خود را با استفاده از ابزار خط فرمان و پیروی از مستندات Flutter برای ساخت خروجی و انتشار برنامه های Android و iOS ایجاد کنیم. علاوه بر این Flutter به طور رسمی فرایند انتشار با Fastlane را مستند کرده است که اینجا میتوانید بببینید . 

 

نتیجه گیری نهائی :

 

Flutter ابزارهای ساخت و انتشار خروجی بسیار عالی دارد که توسط خط فرمان میتوان خروجی تولید کرد ولی React Native فاقد چنین ابزارهایی بصورت رسمی است . 

 

پیروز : Flutter

امتیاز ها :  React Native=4 — Flutter=5

flutter vs react native مقایسه بین flutter و  react native - ری اکت نتیو و فلاتر

10 - DevOps و پشتیبانی از CI / CD : 

 

CI مخفف Continuous Integration به معنی ادغام مداوم و CD مخفف Continuous Delivery به معنی تحویل مداوم اقدامتی هستند که برای توسعه هر اپ ضروری هستند برای دریافت بازخورد مداوم و اجتناب از انتشار اپ باگ دار مهم است . 

 

React Native : 

 

React Native هیچ مستندات رسمی در زمینه CI/CD ندارد به هر حال مقاله هایی در اینترنت وجود دارد که در مورد CI/CD در فریمورک React Native صحبت میکند . در این وبلاگ میتوانید یک مقاله در این مورد بخوانید 

 

Flutter : 

Flutter دارای بخشی برای CI و برای تست میباشد که شامل پیوندهایی به منابع خارجی است.

در هر صورت Flutter به شما اجازه میدهد از طریق خط فرمان CI/CD  را راه اندازی کنید و CI/CD توسط Flutter پشتیبانی میشود جزئیات بیشتر در این مقاله ببینید . 

 

نتیجه گیری نهائی :

توسعه دهندگان Flutter به راحتی توسط خط فرمان CI/CD را میتوانند راه اندازی کنند ولی React Native بصورت رسمی هیچ پشتیبانی از CI/CD ندارد . 

 

پیروز : Flutter

امتیاز ها :  React Native=4 — Flutter=6

flutter vs react native مقایسه بین flutter و  react native - ری اکت نتیو و فلاتر

خب رقابت بین Flutter و React Native تمام شد و برنده ی میدان Flutter است ولی تنها با دو امتیاز بیشتر ... 

 

نتیجه ی کلی این مقایسه : 

ReactNative و Flutter هر دو دارای مزایا و معایب خود را دارند، اما Flutter به عنوان برنده این مسابقه شد. برخی از کارشناسان پیش بینی کرده اند که Flutter آینده ی توسعه ی برنامه های کراس-پلتفرم  است. با توجه به مقایسه فوق، واضح است که Flutter به شدت وارد مسابقه توسعه اپ های موبایل شده است . 

اگر بخواهیم در کل بدون در نظر گرفتن آینده یکی از این ها را انتخاب کنیم باید در نظر بگیریم هر دو آنها خوب هستند امکانات و مزایا و معایب کلی آنها را بخوانید و در نهایت یکی را انتخاب کنید . 

 

موفق باشید 

 

لینک کوتاه این مقاله : https://avasam.ir/post/92
این سیستم برپایه ی علاقه مندی شما یک دوره ی مناسب به شما پیشنهاد میدهد
مرا بسوی بهترین دوره ی آموزشی که برای من مناسب است هدایت کن 🤖
برای استفاده ی دیگران و حمایت از ما در جامعه های زیر به اشتراک بگذارید

.:: نظرهای کاربران ::.
سروش قطران / 2 سال پیش

چه رقابت تنگاتنگ و هیجان انگیز و پر گلی بود این مسابقه

پشتیبانی آواسام :

بله این دو رقابتی تنگاتنگ دارن

مینا / 3 سال پیش

سلام. سوالم اینه که بهترین معماری برای فلاتر چه معماری ای هست؟ 

bloc 

provider 

MVC

  یا چی؟

محمد / 4 سال پیش

خیلی تشکر از مطلب مفیدی که گذاشتید

مرتضی دهقانی زاده / 4 سال پیش

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

علی / 4 سال پیش
با javascript خیلی راحت میشه برای windows و OSX نیز با فریم ورک Electron برنامه نوشت و همچنین برای وب یعنی یک single code برای 5 پلتفرم، flutter و dart شاید گزینه ی خوبی باشن برای اپ های موبایل ولی در زمینه وب و desktop apps بسیار ضعیف هستن در حال حاضر
امید غلامی / 5 سال پیش
بسیار مقاله مفیدی بود...لذت بردم
علیرضا / 5 سال پیش
مقاله خیلی خوبی بود ممنون از زحمات شما
مهمان / 5 سال پیش
سلام بسیار بسیار عالی بود، ممنون و متشکر از زحمات بی منت جناب مهندس نیکزاد خسته نباشید میگم به تیم آوا سام موفق و پیروز باشید، گروه بازار وردپرس
ماهان / 5 سال پیش
اخری رو اشتباه گفتم، اکسپرس نیست. اِمبِر جی اس منظورم بود، اشتباه کردم.
ماهان / 5 سال پیش
اخری رو اشتباه گفتم، اکسپرس نیست. اِمبر جی اس منظورم بود، اشتباه کردم.
ماهان / 5 سال پیش
یکی از مهمترین مباحثی که در حال حاضر مطرح هستش برای برنامه نویسان، مقایسه ی بین چارچوب ها و کتابخانه های جاوااسکریپت با نام های ویو جی اس، ری اکت، انگولار، جی کوئری و اکسپرس هستش. لطفا ی مقاله به سبک بالا، در خصوص این 5 مورد قرار بدید تا بتونیم انتخاب خوبی رو برای خودمان صورت بدیم.
ماهان / 5 سال پیش
این شیوه مقایسه جزء به جزء رو در جایی ندیده بودم و بسیار جذاب هستش برام. منتظر ادامه مقاله هستم. خود خواننده هم می تونه مواردی که براش اولویت نداره رو نمره دهی نکنه و اونایی که مهم هستش رو باهم مقایسه میکنه.
ماهان / 5 سال پیش
با سلام و درود، به موضوع بسیاری خوبی رو پرداختید. منتظر ادامه ی مقاله هستم
دوره ی آموزش پروژه محور ساخت کافه بازار دوره ی آموزش پروژه محور ساخت فروشگاه دیجیکالا آموزش لاراول دوره ی آموزش ویو جی اس