به طور معمول، برنامه های 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 را انجام می دهد و هرکدام از آنها می توانند کارهای مستقل از پلتفرم را انجام دهند. همانطور که مطالب مشترک یک بار نوشته شده است ، دیگر فرصتی برای ایجاد ناسازگاری بین سیستم عامل ها در این کد وجود ندارد.

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

 


مشخصات

آخرین مطالب این وبلاگ

آخرین ارسال ها

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