مقایسه وبررسی React Native vs Flutter vs Ionic vs NativeScript - قسمت اول

روز مطلب کاربردی و خوبی درمورد مقایسه و بررسی امکانات این چهار ابزار طراحی اپلیکیشن خواندم که تصمیمگرفتم در حد توان آن را ترجمه و ویرایشی کرده و اینجا قرار دهم تا بتواند پاسخی برای سوالات مشابه خودم باشدچگونه React Native با Flutter ، NativeScript یا Ionic مقایسه می شود؟ تفاوت ها چیست؟ کدام یک را باید یاد بگیریم؟ عملکرد هر یک از این گزینه ها چگونه است؟ در اینجا 8 پارامتر برای مقایسه این فناوری ها مشخص شده که در تصمیم گیری به ما کمک می کند.# Flutter ، React Native ، NativeScript و Ionic چه چیزی هستند؟در این مقاله به مقایسه Flutter ، React Native ، NativeScript و Ionic می پردازیم.هر چهار فناوری به شما امکان می دهد برنامه های واقعی بومی را برای iOS و Android بسازید - بدون نیاز به یادگیری Swift ، ObjectiveC ، Java یا Kotlin!در عوض ، از JavaScript (برای React Native ، NativeScript و Ionic) و Dart (برای Flutter) استفاده خواهید کرد. از این رو شما می توانید به جای دو زبان ، برنامه های بومی را برای هر دو سیستم عامل ایجاد کنید - بدیهی است که زمان لازم برای ساختن برنامه موبایل به میزان زیادی کاهش می یابد!بسیار عالی! بنابراین چگونه این فناوری ها متفاوت هستند ، کدام یک بهترین انتخاب برای پروژه بعدی موبایل شما است؟ بیایید یک نگاهی بیندازیم…FlutterFlutter هم بصورت SDK (کیت توسعه نرم افزار-software development kit) و هم بصورت framework (چارچوب) برای Dart – (یک زبان برنامه نویسی) موجود است که توسط گوگل ساخته شده است. خود Flutter نیزتوسط یک تیم Google توسعه یافته است.ایده اصلی Flutter این است که شما کدهای دارت را می نویسید که می تواند با کدهای بومی که روی دستگاه هدف اجرا می شوند ، کامپایل شود. شما از Dart + چارچوب Flutter برای ساخت رابط های کاربر متشکل از ابزارک ها به اصطلاح استفاده می کنید. کشتی های کوچک با یک دسته از ابزارک های از پیش تنظیم شده (دکمه ها ، زبانه ها و غیره) حمل می شوند و به طور معمول از این ها استفاده می کنید تا ویجت های پیچیده تری را نیز بسازید.می توانید همه چیز را راجع به Flutter در دوره Learn Flutter &amp;amp;amp;amp;amp;amp; Dart to Build iOS &amp;amp;amp;amp;amp;amp; Android Apps در Udemy بیاموزید.علاوه بر نوشتن کد Dart / Flutter ، از بخش SDK این فناوری نیز استفاده خواهید کرد. این اساساً مجموعه ای از عملکردهاست که به شما در هنگام توسعه کمک می کند (برنامه های افزودنی IDE ، سرور توسعه ، بروزرسانی مستقیم برنامه خود در یک شبیه ساز یا دستگاه واقعی) و با استقرار (کد برنامه خود را با کد بومی کامپایل کنید).ReactReact Native یک فناوری / چارچوبی (framework) است که توسط فیس بوک ایجاد شده است.با استفاده از JavaScript و کتابخانه React به شما امکان می دهد تا رابط های کاربری زیبایی متشکل از اجزای React بسازید.نکته مهم: بر خلاف برنامه های واکنش "عادی" ساخته شده برای مرورگر ، از برچسب های HTMLاستفاده نخواهید کرد. درعوض ، شما از مجموعه ای از مؤلفه های از پیش ساخته استفاده خواهید کرد که توسط ابزار React Native توسط برنامه نویسی به کد بومی وارد می شوند.شما هنوز هم می توانید از بسته هایی مانند Redux استفاده کنید و دانستن JavaScript و Reactالبته به شما امکان می دهد سریعاً با React Native نیز شروع کنید.درست مانند Flutter ، می توانید از دوره مفصل Udemy در زمینه React Native استفاده کنید.NativeScriptNativeScript نیزازJavaScript برای ساخت برنامه های موبایل بصورت native استفاده می کند. در اشکال مختلفی وجود دارد JavaScript/ TypeScript, خالص به همراه Angular و بوسیله Vue.js.همانطور که می بینید گزینه کار با چارچوب های مختلف را به شما می دهد - هرچند گزینه های مختلف به طور مستقل از یکدیگر توسعه یافته اند. بنابراین ممکن است شما یک زمان آسان تر یا اجزای داخلی با گزینه A نسبت به گزینه Bداشته باشید. همه گزینه ها در حال توسعه فعال هستند ، از این رو بهتر است به سادگی به اسناد و اطلاعاتبپردازید.NativeScript مانند Flutter و React Native ، مجموعه ای از قطعات ساخته شده از پیش ساخته را برای شما ترسیم می کند. این کار با HTML بلکه با مؤلفه های آن کار نمی کند (مانند React Native).IonicIonic یک رویکرد متفاوت از سه گزینه اول را دنبال می کند!با استفاده از Ionic ، شما یک برنامه بومی (Native)واقعی ایجاد می کنید اما این کار را با ایجاد یک برنامه وب (با HTML ، JS و CSS) انجام می دهید که توسط یک برنامه بومی واقعی که میزبان یک نمای وب(web view) (اساساً یک مرورگر پنهان) است ، ایجاد می شود. همانند JQuery Mobile.از آنجا که در پایان یک صفحه وب ایجاد می کنید ، Ionic شروع به کار را برای توسعه دهندگان وب بسیار آسان می کند.با شروع کار با Ionic 4 ، Ionic مجموعه عظیمی از مؤلفه هایی که می توانید از آنها استفاده کنید (دکمه ها ، کارت ها و غیره) در اختیار شما قرار میدهد با هر فریم ورک ظاهری (یا بدون آنهاً).Ionic همچنین ابزارهای زیادی را فراهم می کند که توسعه برنامه های تلفن همراه را آسان تر می کند (به عنوان مثال یک سرور توسعه برای اجرای برنامه شما در یک شبیه ساز / دستگاه واقعی با به روزرسانی زنده) و همچنین این برنامه را به بسته های قابل حمل تبدیل می کند. علاوه بر این ، تیم Ionic درگیر پروژه Capacitor است که بسته های JavaScript زیادی را برای شما فراهم می کند تا بتوانید به هر پروژه وب (!) اضافه کنید تا از ویژگی های دستگاه بومی مانند دوربین استفاده کند.آیا می خواهید درباره Ionic اطلاعات بیشتری کسب کنید و برخی از برنامه های واقعی را با آن بسازید؟ یک دوره Udemy در مورد Ionic بنام Ionic 4 - Build iOS, Android & Web Apps with Ionic & Angular اینجا قرار گرفته است.# چگونه باید این گزینه ها را مقایسه کنیم؟پس از این معرفی های مختصر - چگونه باید این گزینه ها مقایسه شود؟بیایید همچنین به این زبان ها ، زبان های سیستم عامل بومی (Java / Kotlin for Android ، Swift / ObjectiveC for iOS) اضافه کنیم و به هشت معیار کاملاً ذهنی نگاهی بیندازیم.منبع: https://www.academind.comتوضیح : من مترجم نیستم و با کمک گوگل جهت درک کلی مقاله و کمی تغییرات این مطالب را گردآوری کردم لذا امکان دارد برخی جاها آن شیوایی و مفهوم را نرساند که بابتش پیشاپیش عذرخواهی میکنم