آموزش زامارین نیتیو



به طور معمول، برنامه های Android در جاوا تولید می شوند و برنامه های iOS به صورت Swift و Objective-C نوشته می شوند. با این وجود ، ابزار جایگزین دیگری نیز وجود دارد که به جای آن می توان از آنها استفاده کرد. Xamarin ، React Native و Ionic نمونه های رایج از چنین ابزارهایی هستند. هدف آنها چیست؟ چه چیزی آنها را متفاوت می کند؟

 

کراس پلت فرم(Cross platform )

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

یکی از راه حل ها توسعه دو برنامه کاملاً جداگانه است: یکی در جاوا برای اندروید و دیگری در Swift یا Objective-C برای iOS. این رویکرد دارای مزایای آن از قبیل:

1-دریافت ویژگی های جدید از سیستم عامل مورد نظر و شتیبانی آن تا زمانی که این سیستم عامل وجود دارد.

2-مطابقت با سیستم عامل مورد نظر و دارای UI و UX کاملا نیتیو. و اینکه تعامل کاربر با این برنامه بیشتر است.

با این حال ، این رویکرد یک نقطه ضعف جدی دارد: شما باید همان دو کد را دو بار بنویسید! اگر دو توسعه دهنده مختلف برنامه های iOS و Android را ایجاد کنند ، شرایط بدتر می شود زیرا احتمالاً دو نفر ویژگی مشابه را با کمی تفاوت متفاوت پیاده سازی می کنند.

Xamarin ، React Native و Ionic این مسئله را برطرف کرده و ابزارهای قدرتمندی را برای رسیدن به یک هدف ارائه می دهند: استفاده از یک پشته فن آوری برای توسعه برنامه های iOS و Android. به نظر می رسد این ایده ساده است ، اما دارای معایبی است:

-توسعه دهنده نیازی به یادگیری دو فناوری کاملاً متفاوت ندارد. البته آنها هنوز هم باید از ویژگی ها و محدودیت های هر پلتفرم بدانند ، اما نیازی به نوشتن به دو زبان مختلف و طراحی GUI با استفاده از ابزارهای مختلف نیست.

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

-هنوز ممکن است دو یا چند توسعه دهنده مشغول کار روی برنامه باشند و کسی که iOS را بهتر می شناسد قطعات خاص iOS را توسعه می دهد ، کسی که Android را بهتر می شناسد کارهای Android را انجام می دهد و هرکدام از آنها می توانند کارهای مستقل از پلتفرم را انجام دهند. همانطور که مطالب مشترک یک بار نوشته شده است ، دیگر فرصتی برای ایجاد ناسازگاری بین سیستم عامل ها در این کد وجود ندارد.

با این حال ، قیمت تمام این ویژگی ها چقدر است؟ 

 


Xamarin فریم ورک C # است در حالی که React Native و Ionic مبتنی بر JavaScript / TypeScript هستند.

از زامارین به روش های مختلفی می توان استفاده کرد. یک گزینه این است که تا حد ممکن حفظ کنید و فقط زبان را به C # تغییر دهید. یعنی شما با استفاده از ابزارهای استودیوی Xamarin Studio XIB ، استوری بورد و پرونده های اندرویدی را طراحی می کنید و به جای جاوا یا سوئیفت کد آن را به زبان C # می نویسید. iOS XIB و داشبورد  را نیز می توان در Xcode طراحی کرد.  کلیه چارچوب های بومی  راحتی قابل دسترسی است. کدی که مناسبUI نیست می تواند بین پروژه های iOS و Android به اشتراک گذاشته شود. اگرچه ، اگر می خواهید تمام قدرت Xamarin را تجربه کنید ، گزینه دیگری وجود دارد: می توانید از cross-platform Xamarin.Forms استفاده کنید تا حتی UI را برای دو سیستم عامل به طور هم زمان طراحی کنید.

از طرف دیگر ، React Native و Ionic زبانهای مبتنی بر JavaScript را هستند. اما چه چیزی آنها را متفاوت می کند؟

خوب ، تفاوت اصلی در این است که React Native بیشتر شبیه Xamarin عمل می کند: شما برای ساختن رابط کاربری گرافیکی از یک زبان قالب ویژه استفاده می کنید . در عوض ، Ionic به هیچ وجه از ابزارک های بومی استفاده نمی کند. در عوض ، فقط یک صفحه وب نوشته شده در HTML را نشان می دهد که از طراحی ابزارک های بومی تقلید می کند. اگر عمیق تربررسی کنید ، React Native از یک رویکرد اصلی استفاده می کند: UI را به عنوان تابعی از وضعیت فعلی اعلام می کنید. این کار React Native اکنون یافتن قسمتهای تغییر یافته UI در هر به روزرسانی و دوباره استفاده مجدد آنها است. در صورت طرح بندی های پیچیده ، می تواند موارد را بسیار ساده کند ، زیرا منطقی که UI را هنگام تغییر حالت به روز می کند ، دیگر روی همه کد پخش نمی شود.

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

 

  Xamarin React Native Ionic
زبان #C JavaScript
TypeScript
ویجت ها دارد دارد ندارد
مباحث و طرح های کلی تقریبا Native مبتنی بر توابع پرتابل و قابل حمل بودن

 


تبلیغات

محل تبلیغات شما
محل تبلیغات شما محل تبلیغات شما

آخرین وبلاگ ها

آخرین جستجو ها

چگونه از گرههای تلگرام کسب درامد کنیم ذوالفقار آیا میدانید؟ بچه های فرهنگی محمدآباد ابوزیدآباد فضای مجازی فروشگاه تابلو فرش دستباف آرازفرش global Network Of mahdavi Arbaeen آموزشگاه خیاطی و کامپیوتر، آموزش خیاطی در تبریز Sella