خوبی ها و بدی های توسعه موبایل Xamarin

  • 2022-02-17

اشتراک گذاری:

هنگامی که توسعه برنامه iOS یا Android را در نظر می گیریم، بیشتر ما اول از همه به Objective-C در مقابل Swift و جاوا فکر می کنیم. آنها که پشته های فناوری بومی در نظر گرفته می شوند، طبیعتاً بیشتر از ابزارهای توسعه تلفن همراه در هنگام توسعه برنامه iOS و Android استفاده می شوند. با این حال، راه‌های بیشتری برای ساخت اپلیکیشن‌های موبایلی کارآمد و کاربرپسند وجود دارد. و Xamarin یکی از آنهاست. در این مقاله، ما یک بررسی عمیق Xamarin انجام می دهیم و آن را با راه حل های توسعه موبایل بومی و چند پلتفرمی در بازار مقایسه می کنیم. اگر اصول اولیه را می‌دانید، به بخش‌هایی که به آن‌ها علاقه دارید پرش کنید.

Xamarin چیست؟

هنگام صحبت در مورد رویکردهای کلیدی توسعه اپلیکیشن موبایل، نادیده گرفتن Xamarin غیرممکن است. Xamarin ابزاری است که برای توسعه اپلیکیشن‌های موبایلی بین پلتفرمی استفاده می‌شود که به مهندسان اجازه می‌دهد تا ۹۰ درصد کد را در پلتفرم‌های اصلی به اشتراک بگذارند. به عنوان یک ابزار نسبتاً جدید، این ابزار مبتنی بر پشته فناوری مایکروسافت است و در حال حاضر جامعه ای متشکل از 1. 4 میلیون توسعه دهنده دارد.

این پلتفرم توسط توسعه دهندگان پشت سر مونو ساخته شد، یک پلتفرم توسعه منبع باز مبتنی بر دات نت فریم ورک، به رهبری میگل دی ایکازا و اولین بار در سال 2001 معرفی شد. شرکت Xamarin در 16 می 2011 تاسیس شد.

با این حال، بر خلاف مدل قبلی خود، Xamarin به عنوان یک پروژه تجاری ایجاد شد تا زمانی که شرکت در سال 2016 توسط مایکروسافت خریداری شد. Xamarin به یک محصول متقابل پلتفرم محبوب برای توسعه برنامه های تلفن همراه در اکوسیستم مایکروسافت تبدیل شد. این خرید سد مالی استفاده از Xamarin را شکست. همانطور که مایکروسافت Xamarin SDK را منبع باز ساخت، بخشی از محیط توسعه یکپارچه Xamarin Visual Studio شد (در زیر بهترین IDE ها برای استفاده برای توسعه Xamarin را مورد بحث قرار می دهیم). ویژگی های اصلی Xamarin چیست؟

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

بر اساس فریم ورک دات نت. سی شارپ یک زبان بالغ با تایپ ایمنی قوی است که از رفتار غیرمنتظره کد جلوگیری می کند. از آنجایی که سی شارپ یکی از زبان های فریمورک دات نت است، می توان آن را با تعدادی از ویژگی های مفید دات نت مانند Lambdas، LINQ و برنامه نویسی Asynchronous (async/await) استفاده کرد.

از نظر فنی ، Xamarin از کتابخانه های C# و بومی پیچیده شده در لایه . NET برای توسعه برنامه متقاطع استفاده می کند. چنین برنامه هایی اغلب از نظر عملکرد و تجربه کاربر با سیستم عامل های توسعه موبایل iOS و Android با بومی مقایسه می شوند. علاوه بر این ، Xamarin می تواند همه دسترسی های API و جدیدترین API را برای استفاده از قابلیت های بستر های نرم افزاری در برنامه های Xamarin مانند Arkit در iOS یا Android Multi-Window اعمال کند.

Xamarin platform

در حالی که کد مربوط به منطق کسب و کار ، دسترسی به پایگاه داده و ارتباطات شبکه می تواند در تمام سیستم عامل ها به اشتراک گذاشته شود ، Xamarin به شما امکان می دهد یک لایه کد UI خاص سیستم عامل ایجاد کنید. بنابراین ، برنامه های متقاطع Xamarin در هر دستگاه 100 ٪ بومی به نظر می رسند و در مقایسه با برنامه های ترکیبی عمومی ، تجربه کاربری بهتری را ارائه می دهند.

تلفیقی . این پلتفرم دارای دو محصول اصلی است: Xamarin. ios و Xamarin. android. در مورد iOS ، کد منبع مستقیماً در کد مونتاژ بازوی بومی (تدوین پیش از زمان) گردآوری می شود ، در حالی که برنامه های Xamarin Android ابتدا به زبان واسطه و سپس-به کد مونتاژ بومی در زمان اجرا (فقط در زمان اجرا می شوند (فقط در)مجموعه زمان). با این حال ، در هر دو مورد ، این فرایند به صورت خودکار و متناسب با مواردی از قبیل تخصیص حافظه ، جمع آوری زباله و قابلیت همکاری پلتفرم به طور پیش فرض است.

xamarin. forms. Xamarin. Forms محصولی جداگانه است که برای ایجاد نمونه های اولیه یا برنامه های تلفن همراه طراحی شده است که حداکثر 100 درصد از کد را در iOS و Android به اشتراک می گذارد.

xamarin. mac. علاوه بر این ، مهندسان می توانند از Xamarin. mac برای ساخت برنامه های کاربردی برای سیستم عامل Mac استفاده کنند. این و برخی از محصولات دیگر از پشته Xamarin در کمی مورد بحث قرار خواهد گرفت.

SDK های پلتفرم. Xamarin دسترسی به SDK های خاص پلتفرم (کاکائو لمس برای iOS و Android SDK) را از طریق نحو ساده C# فراهم می کند.

اتصالات کد خاص سیستم عامل. در بیشتر موارد ، مهندسان قادر خواهند بود تا توسعه و احساس بومی از سکوهای مربوطه را در محیط Xamarin انجام دهند. با این حال ، Xamarin به شما امکان می دهد اگر باید از برخی ماژول ها استفاده کنید یا برخی از توابع خاص پلتفرم مانند اسکن بارکد ، پی پال یا ادغام Google Analytics را تحقق بخشید ، با کد پلت فرم موجود (به عنوان مثال Swift for iOS) تماس بگیرید.

پشتیبانی از پوشیدنی ها. Xamarin از ساخت برنامه های دستگاه های Watch Apple و Android پشتیبانی می کند. مهندسان می توانند از Visual Studio هم برای Mac و هم برای ساخت برنامه های iOS Apple Watch استفاده کنند. همچنین ، Xamarin به طور کامل از Android Wear پشتیبانی می کند.

ساختار پروژه Xamarin. انتظار می رود بیشتر کارهای مربوط به Xamarin از طریق یک رایانه توسعه دهنده ویندوز با Visual Studio و Xamarin نصب شده اجرا شود. برنامه ها را می توان مستقیماً از دسکتاپ یا در دستگاه ها و شبیه سازها اشکال زدایی کرد. اگر قصد دارید برنامه‌های iOS را در ویندوز توسعه دهید، این امکان وجود دارد زیرا ویژوال استودیو به طراح استوری‌برد iOS و شبیه‌ساز iOS متصل می‌شود. ویژوال استودیو برای مک نیز وجود دارد که امکان اجرای شبیه‌ساز را در مک یا مستقیماً بر روی آیفون متصل می‌کند. اشکال زدایی از طریق ویژوال استودیو اجرا می شود.

Xamarin project structure

برای درک عمیق‌تر جنبه‌های مهندسی Xamarin، این منابع را بررسی کنید:

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

اگر می خواهید به جزئیات برسید، به خواندن ادامه دهید.

مزایای استفاده از Xamarin برای توسعه

دلایل خوبی وجود دارد که چرا Xamarin توسط شرکت های متعددی از جمله Trello، Slack و GitHub استفاده می شود.

⊕ یک پشته فناوری برای کد برای همه پلتفرم ها

Xamarin از سی شارپ تکمیل شده با چارچوب Net برای ایجاد برنامه برای هر پلتفرم تلفن همراه استفاده می کند. بنابراین، شما می توانید به طور متوسط 80 تا 90 درصد کد را در پلتفرم ها به اشتراک بگذارید و چرخه مهندسی را سرعت بخشید. Xamarin همچنین نیازی به جابجایی بین محیط های توسعه ندارد: می توانید تمام برنامه های Xamarin خود را در Visual Studio یا Visual Studio Code بسازید. ابزارهای توسعه کراس پلتفرم به عنوان بخشی داخلی از IDE بدون هزینه اضافی ارائه می شوند.

⊕ عملکرد نزدیک به بومی

برخلاف راه‌حل‌های ترکیبی سنتی مبتنی بر فناوری‌های وب، یک برنامه چند پلتفرمی ساخته شده با Xamarin همچنان می‌تواند به عنوان بومی طبقه‌بندی شود. همانطور که پلتفرم توسعه می یابد، عملکرد Xamarin به طور مداوم بهبود می یابد تا کاملاً با استانداردهای توسعه بومی مطابقت داشته باشد و مایکروسافت در مورد تکنیک های بهینه سازی مشاوره می دهد. ویژوال استودیو همچنین راه حل کاملی برای ساخت، آزمایش و ردیابی عملکرد برنامه ارائه می دهد: مرکز برنامه ویژوال استودیو به شما امکان می دهد تست های رابط کاربری خودکار را اجرا کنید و مشکلات را قبل از انتشار شناسایی کنید. با این حال، این خدمات با هزینه اضافی ارائه می شود.

پیش از این، ما عملکرد Xamarin و برنامه های بومی را آزمایش و مقایسه کردیم. نتایج ممکن است تا حدودی قدیمی باشد. با این حال، آنها به وضوح سطح مناسب عملکرد برنامه های Xamarin را نشان می دهند.

⊕ تجربیات کاربر بومی

Xamarin به شما امکان می دهد با استفاده از عناصر UI مخصوص پلتفرم، تجربیات بی عیب و نقصی ایجاد کنید. همچنین می‌توان با استفاده از ابزار Xamarin. Forms، برنامه‌های متقابل پلتفرمی را برای iOS، Android یا Windows ساخت که اجزای رابط کاربری برنامه را در زمان اجرا به عناصر رابط پلتفرم خاص تبدیل می‌کند. از آنجایی که استفاده از Xamarin. Forms سرعت توسعه اپلیکیشن را به میزان قابل توجهی افزایش می دهد، گزینه ای عالی برای پروژه های تجاری محور است. با این حال، ممکن است کاهش جزئی در عملکرد به دلیل لایه انتزاعی اضافی وجود داشته باشد. برای رابط کاربری سفارشی برنامه و عملکرد بالاتر، همچنان می توانید از Xamarin. iOS و Xamarin. Android به طور جداگانه استفاده کنید تا از نتایج عالی اطمینان حاصل کنید.

به طور سنتی اعتقاد بر این است که Xamarin بهترین گزینه برای برنامه هایی با گرافیک سنگین نیست. با این اوصاف، تعدادی کتابخانه مانند OpenGL ES و فریمورک‌هایی مانند SkiaSharp و Urho وجود دارند که توسعه برنامه‌هایی با رابط کاربری سفارشی غنی، انیمیشن‌های پیچیده یا بازی‌ها را حتی در Xamarin ممکن می‌سازند.

⊕ پشتیبانی کامل از سخت افزار

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

⊕ فناوری منبع باز با پشتیبانی قوی شرکتی

پس از خرید این شرکت توسط مایکروسافت در فوریه 2016، سیاست های مجوز Xamarin دستخوش تغییرات اساسی شد. Xamarin SDK، شامل زمان اجرا، کتابخانه ها و ابزارهای خط فرمان، منبع باز شده و تحت مجوز MIT به عنوان بخشی از ویژوال استودیو برای همه در دسترس است. مایکروسافت با حذف مانع اصلی، هزینه مجوز، راه را برای رشد بیشتر پلتفرم هموار کرد. بعلاوه، به رهبری مایکروسافت، و پشتیبانی شده توسط Unity، JetBrains، و Red Hat، بنیاد دات نت به طور کلی و Xamarin به طور خاص به یک پشته فناوری قابل اعتماد و قدرتمند تبدیل شده است.

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

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

⊕ اکوسیستم توسعه کامل

Xamarin با یک ابزار توسعه کامل ، از جمله IDE خاص خود ، در یک بسته قرار می گیرد. در آوریل 2018 ، بسیاری از ابزارهای توسعه Xamarin که قبلاً به عنوان ویژگی های جداگانه شناخته می شدند ، بخشی از مرکز برنامه Visual Studio شدند. شامل خود این پلتفرم (Xamarin SDKS) ، آزمایش (قبلاً ابر تست Xamarin) ، توزیع و تجزیه و تحلیل (سابقاً Xamarin. Insights) و موارد دیگر است. از آنجا که این ابزار رایگان باقی مانده است ، نیازی به سرمایه گذاری در ابزارهای اضافی یا ادغام برنامه های شخص ثالث برای ساخت ، آزمایش و استقرار برنامه های Xamarin خود نیست.

⊕ Xamarin. Forms: چارچوبی برای ایجاد طرح بندی UI بومی

Xamarin پیشنهاد می کند توسعه دهندگان برنامه های تلفن همراه را از دو طریق بسازند. مورد اول استفاده از Xamarin. ios و Xamarin. android است که در اوایل ظاهر شد و در ابتدا توانایی بیشتری در نظر گرفته می شد. استفاده از Xamarin. Forms دومین روش است. این یک نسخه پیشرفته تر است که امکان نمونه سازی سریع یا تولید برنامه هایی را با قابلیت های خاص پلتفرم کمتر فراهم می کند. به همین دلیل Xamarin. Forms بهترین برنامه برای برنامه هایی است که اشتراک گذاری کد از UI سفارشی مهمتر است. این امر به شما امکان می دهد تا 99 ٪ کد را دوباره استفاده کنید ، به این معنی که می توانید یک رابط واحد ایجاد کرده و بدون طراحی برای هر سیستم عامل به صورت جداگانه در سیستم عامل ها به اشتراک بگذارید. همچنین می توانید برنامه هایی بسازید که برخی از قسمت های رابط کاربر آنها با Xamarin. Forms ساخته شده و سایر موارد با استفاده از ابزار بومی UI مهندسی شده اند.

همانطور که Xamarin. Forms در طول سالها توسعه یافت ، به یک ابزار جهانی تبدیل شد و جامعه ای پر جنب و جوش را به دست آورد که توجه آن را جلب می کند. به عنوان مثال ، برخی از ارائه دهندگان فناوری از کتابخانه های خود مانند Telerik UI کمک می کنند که قابلیت های مهندسی را با ارائه قطعات UI از پیش تنظیم شده غنی می کنند.

⊕ Xamarin. Forms XAML بارگیری مجدد

همانطور که Xamarin. Forms با هدف توسعه سریع و بدون اصطکاک انجام می شود ، مایکروسافت پیشنهاد می کند از یک ابزار بارگیری مجدد XAML استفاده کنید. این امر با سرعت بخشیدن به XAML در هنگام اشکال زدایی ، سرعت توسعه را سرعت می بخشد و بلافاصله آن تغییرات را در برنامه در حال اجرا مشاهده می کند ، بدون اینکه شما را مجبور به متوقف کردن و بازسازی آن کنید. علاوه بر این ، وضعیت ناوبری و داده های شما حفظ می شود ، به طوری که می توانید به سرعت در UI خود تکرار کنید. به این ترتیب ، بارگیری مجدد XAML امکان بازسازی سریعتر و استقرار برنامه های شما را برای تأیید تغییرات UI فراهم می کند.

⊕ ساخت برنامه برای مک با ابزار xamarin. mac

Xamarin. mac امکان توسعه برنامه های کاملاً بومی MAC را با استفاده از C# و . NET فراهم می کند. با همان کتابخانه هایی که برای توسعه در Objective-C با Xcode استفاده می شود ، ادغام می شود. با استفاده از Xamarin. mac همراه با Xamarin. ios و Xamarin. android ، توسعه دهندگان می توانند تا 90 درصد از کد بومی را در Android ، iOS و Mac OS به اشتراک بگذارند. علاوه بر این ، Xamarin. mac با Xcode ادغام می شود ، بنابراین یک توسعه دهنده می تواند از سازنده رابط XCode برای ایجاد رابط های کاربر برنامه استفاده کند.

⊕ منابع یادگیری Xamarin

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

⊕ پشتیبانی Xamarin از تلویزیون ، پوشیدنی و IoT

چارچوب Xamarin ، به لطف Xamarin. forms ، ساخت نسخه های قابل حمل را برای بسیاری از سیستم عامل ها امکان پذیر می کند. علاوه بر iOS ، Android ، تلفن های ویندوز و Mac ، می توانید برنامه هایی را برای Tizen - یک سیستم عامل که در برخی از دستگاه های سامسونگ استفاده می شود - برای پوشیدنی ، تلویزیون و IoT تهیه کنید. علاوه بر این ، Xamarin. ios امکان ساخت برنامه های کاربردی برای TVOS را برای Apple و WatchOS فراهم می کند.

منفی Xamarin باید در نظر بگیرید

با این حال ، هنوز اشکالاتی وجود دارد که می تواند سایه ای را بر روی سکو بگذارد. بنابراین ، چرا از Xamarin استفاده نمی کنیم؟

θ پشتیبانی کمی تأخیر برای آخرین به روزرسانی های پلتفرم

این کاملاً به تیم توسعه دهنده Xamarin بستگی دارد. برای ابزارهای شخص ثالث غیرممکن است که پشتیبانی فوری را برای آخرین نسخه های iOS و Android ارائه دهند زیرا برای اجرای تغییرات و/یا معرفی افزونه های جدید و غیره مدتی طول می کشد

θ دسترسی محدود به کتابخانه های منبع باز

توسعه بومی استفاده گسترده ای از فناوری های منبع باز می کند. با استفاده از Xamarin ، شما باید از عناصر ارائه شده توسط این سیستم عامل و برخی از منابع منبع باز . NET استفاده کنید که هم توسعه دهندگان و هم با مصرف کنندگان روبرو هستند. در حالی که این انتخاب به اندازه توسعه برنامه های موبایل Android و iOS کاملاً غنی نیست ، می توانید از بسته های NUGET استفاده کنید که اکنون شامل همه چیزهایی است که در اجزای بازنشسته Xamarin وجود دارد.

θ هزینه بالا برای استفاده حرفه ای و سازمانی

اگرچه Xamarin یک بستر منبع آزاد برای توسعه دهندگان انفرادی است ، اما این چارچوب ممکن است برای نیازهای سازمانی یک پنی زیبا هزینه کند. شما برای خرید مجوز برای ویژوال استودیو هزینه زیادی خواهید کرد. به عنوان مثال ، Visual Studio Professional با مجموعه اصلی ابزارهای توسعه برای سال اول 1،199 دلار و برای تمدید 799 دلار هزینه دارد. در همین زمان ، یک شرکت Visual Studio ، که آزمایش با ابزارهای اضافی را امکان پذیر می کند ، برای سال اول 5،999 دلار و برای تجدید 2،569 دلار هزینه خواهد داشت. ویژگی های هر دو ما در زیر پوشش می دهیم.

استخر استعداد Xamarin و محدودیت های جامعه

بدیهی است که جامعه Xamarin به طور قابل توجهی کوچکتر از IOS بومی یا اندروید است. همچنین از جوامع واکنش و یونی کوچکتر است. بنابراین ، پیدا کردن یک توسعه دهنده با تجربه Xamarin می تواند یک چالش باشد.

براساس بررسی سرریز پشته 2020 ، تنها 5. 8 درصد از چارچوب Xamarin از سال 2020 استفاده می کردند ، در مقایسه با 11. 5 درصد React Native و 7. 2 درصد فلوتر.

stackoverflow-2020

استفاده از Xamarin در مقایسه با سایر چارچوب ها. منبع تصویر: سرریز پشته

با وجود این واقعیت که تعداد مهندسان Xamarin با جوامع بومی iOS یا Android مقایسه نمی شود ، این پلتفرم پشتیبانی گسترده ای را برای توسعه دهندگان خود فراهم می کند. همانطور که در بالا ذکر شد ، Microsoft Learn منابع و آموزش های عملی را برای کسانی که تازه وارد این فناوری هستند ارائه می دهد. با استفاده از این پشتیبانی ، منحنی یادگیری برای یک مهندس خالص با تجربه C#/. حداقل است.

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

θ دانش اساسی زبانهای بومی

هنگام استفاده از Xamarin. ios و Xamarin. android برای ساختن برنامه های تلفن همراه با ظاهر و احساس واقعاً بومی ، هنوز هم باید با استفاده از API های بومی هر سیستم عامل ، یک لایه کد خاص پلتفرم بنویسید. بنابراین ، حتی اگر مانند گذشته اجباری نباشد ، داشتن حداقل دانش اساسی در مورد فن آوری های بومی (جاوا/کوتلین برای اندروید و هدف- C/Swift برای iOS) مفید خواهد بود تا بتوانند درک کنند وبیشترین استفاده را از مستندات خاص سیستم عامل کسب کنید. همچنین ، کتابخانه Xamarin. Essentials چندین API های متقاطع را ارائه می دهد و می تواند برای دسترسی به ویژگی های بومی استفاده شود. با این حال ، این در مورد Xamarin. forms صدق نمی کند.

θ اندازه برنامه بزرگتر

بسته به نوع و پیچیدگی آنها ، برنامه های Xamarin به طور معمول از برنامه های بومی بزرگتر هستند (دومی ممکن است نیمی از اندازه یک برنامه Xamarin باشد). یک برنامه ساده "سلام ، جهان" برای Android ممکن است تا 16 مگابایت طول بکشد ، بخش اعظم آن توسط کتابخانه های مرتبط ، محتوا ، زمان اجرا مونو و مجموعه های کتابخانه کلاس پایه (BCL) استفاده می شود.

xamarin app size

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

θxamarin. forms به زودی متوقف می شود

در ماه مه 2020 ، کنفرانس سالانه مایکروسافت ساخت برگزار شد. در میان اخبار دیگر ، اعلام شد که Xamarin. Forms قصد دارد با . NET ادغام شود و به یک چارچوب جدید پلت فرم به نام برنامه چند پلتفرمی UI یا MAUI تبدیل شود. مائوئی می خواهد تمام UI بومی را داشته باشد و به همه API های بومی دسترسی پیدا کند.

همچنین ، به عنوان بخشی از Unification . NET به تدریج ، Xamarin. android و Xamarin. ios در نهایت بخشی از . NET 6 به عنوان . NET برای iOS و . NET برای Android می شوند و برای مطابقت با سایر بارهای . NET به روز می شوند. جدول زمانی برای آن هنوز ناشناخته است ، بنابراین برای به روزرسانی های آینده با ما در ارتباط باشید.

در همین حال ، مهاجرت Xamarin. Forms باید در نوامبر 2021 انجام شود. پس از انتشار مائوئی ، Xamarin برای 12 ماه دیگر پشتیبانی می شود. بنابراین ، اگر در حال حاضر با Xamarin کار می کنید یا قصد دارید برنامه های جدید Xamarin را بسازید ، ارزش آن را دارید که به تاریخ توجه کنید و به دنبال راهنماهای مایکروسافت برای انتقال صاف باشید.

مسائل سازگاری θ با کتابخانه ها و ابزارهای شخص ثالث

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

Xamarin Visual Studio IDE

اگر احساس می کنید که Xamarin برای شما مناسب است، علاقه مند خواهید بود که IDE های اصلی Xamarin را که می توان استفاده کرد و نحوه مقایسه آنها با یکدیگر بدانید.

ویژوال استودیو (VS) یک محیط توسعه یکپارچه مایکروسافت یا IDE است، نرم‌افزاری که برای ساخت، اشکال‌زدایی و انتشار برنامه‌ها در تمامی پلتفرم‌ها و دستگاه‌ها استفاده می‌شود. سه نسخه اصلی Visual Studio برای Xamarin وجود دارد - Visual Studio Community، Visual Studio Professional و Visual Studio Enterprise. عوامل کلیدی برای انتخاب نسخه قابل قبول، تجربه توسعه دهندگان (دانشجویان یا مهندسان حرفه ای) و اندازه تیم آنها است. برنامه نویسان می توانند نرم افزارهایی را برای وب، موبایل، سرور و دسکتاپ با تمامی نسخه ها توسعه دهند. در مقاله ما درباره ابزارهای مورد استفاده برای توسعه دات نت، درباره ویژوال استودیو بیشتر بدانید.

آخرین نسخه ویژوال استودیو 2019 است. در مقایسه با VS 2017، شامل پیشرفت‌های متعددی است که توسعه برنامه‌ها را سرعت می‌بخشد، از همکاری بلادرنگ با استفاده از Visual Studio Live Share تا پنجره شروع جدید Visual Studio. همچنین، از DPI هر مانیتور و قابلیت های بهبود یافته اشکال زدایی پشتیبانی می کند.

حجم کاری Xamarin اکنون حدود 3 برابر نسبت به نسخه های قبلی کاهش یافته است، یعنی از 23 گیگابایت به 7 گیگابایت کاهش یافته است. تاثیر دیسک را به شدت کاهش می دهد و نصب را تسریع می کند. علاوه بر این، نسخه جدید بهبودهای قابل توجهی را برای مدیریت SDK اندروید و شبیه سازها ایجاد کرد. همچنین تلاش های زیادی در تقویت نویسندگی UI انجام داد. این شامل بهبودهای Xamarin. Forms با IntelliCode برای XAML، بهبودهای AXML برای Android، حمل و نقل Xamarin iOS ارتقا یافته و بسیاری از ویژگی‌های دیگر است.

انجمن ویژوال استودیو برای دانش آموزان، پروژه های متن باز، تیم های توسعه کوچک با حداکثر 5 کاربر مناسب است. بسته Community همچنین برای تیم هایی که تازه وارد Visual Studio هستند خوب است. این نسخه برای استفاده رایگان است.

Visual Studio Professional مجموعه ای از ابزارها و خدمات است که برای توسعه دهندگان حرفه ای ، تیم های کوچک و استفاده از شرکت ایجاد شده است. این نسخه ویژگی های قدرتمندی را برای درک سریع کد شما فراهم می کند: نشان دادن منابع کد ، تغییر در کد شما ، نمایش اینکه آخرین روش یک روش را اصلاح کرده است یا کشف اینکه آیا تست ها گذشتند. نسخه حرفه ای شامل Azure DevOps است که مجموعه ای از ویژگی هایی از جمله برنامه ریزی و برنامه ریزی پروژه چابک ، خطوط لوله CI/CD ، راه حل های گزارش دهی و موارد دیگر است. قیمت سالانه این نسخه 1،199 دلار است.

Visual Studio Enterprise ابزارها و خدمات پشتیبانی قوی تری دارد. آنها امکان مدیریت فرآیندهای پیچیده تر بین توسعه و عملیات IT را فراهم می کنند. ردیابی کیفیت با ابزارهای تست دستی و خودکار ؛دسترسی به آموزش حرفه ای و کل اکوسیستم مهندسی مایکروسافت و آزمایش. نسخه Enterprise همچنین دارای پشتیبانی اولویت ، پیشنهادات شریک و موارد دیگر است. قیمت سالانه استودیوی Enterprise 5،999 دلار است.

برای استفاده از شرکت ، ما همچنین توصیه می کنیم مرکز برنامه Visual Studio را بررسی کنید. این ابزاری است که گردش کار توسعه برنامه را در فن آوری های مختلف تلفن همراه از جمله Xamarin سازماندهی می کند. در اینجا ، تیم های مهندسی که روی چندین برنامه کار می کنند می توانند ابزار خود را با هم جمع کنند. این بسته بندی برنامه را از طریق GitHub یا Bitbucket خودکار می کند ، ادغام برای خدمات مختلف آزمایش را فراهم می کند ، توزیع برنامه ایمیل را برای آزمایش امکان پذیر می کند ، آیا ردیابی تصادف و تجزیه و تحلیل را انجام می دهد.

کد ویژوال استودیو ، یا در مقابل کد ، به عنوان محبوب ترین محیط توسعه در سال 2019 با 50. 7 درصد از توسعه دهندگان گزارش می دهد که از آن استفاده می کنند. VS Code یک ویرایشگر کد منبع باز رایگان و سبک است که تمام ابزارهای اصلی لازم برای یک چرخه ساده ویرایش کد ، ساختمان و اشکال زدایی را فراهم می کند ، اما فاقد قابلیت های IDE های تمام عیار است که امکان مدیریت گردش کار پیچیده تر را فراهم می کند. این برنامه در Mac ، Linux و Windows اجرا می شود و از چنین عملیات اصلی توسعه مانند کار ، عیب یابی و کنترل نسخه پشتیبانی می کند. همچنین برای توسعه AI به کمک AI ، با GitHub کار می کند و دارای اکوسیستم غنی از پسوندها است. کد VS سریع ، ساده برای استفاده ، بسیار قابل تنظیم است و در صورت نیاز به چیزی سبک وزن ، اما با عملکرد خوب می تواند انتخاب خوبی باشد

Visual Studio Online یا GitHub CloudSpaces یک محیط توسعه مبتنی بر مرورگر است که از VS 2019 و VS Code پشتیبانی می کند. اکنون فقط در بتا موجود است و عملکرد محدودی دارد

تغییر از Android Studio یا Xcode به Visual Studio

اگر تیم توسعه شما انتقال از Android Studio (AS) یا Xcode به Visual Studio را در نظر بگیرد ، منحنی یادگیری آنقدر شیب دار نخواهد بود. مقایسه ویژگی های ویژگی نشان می دهد که IDE ها از نظر جریان توسعه با تفاوت های ظریف برای هر یک از محیط ها بسیار یکسان هستند.

از Android Studio تا Visual Studio. در حالی که پشتیبانی رسمی Android Studio روی زبانهای جاوا ، C/C ++ ، Kotlin و XML متمرکز است ، VS از تمام زبانهای برنامه نویسی اصلی از جمله موارد AS پشتیبانی می کند. این به دلیل طیف گسترده ای از سیستم عامل هایی است که IDE به آن توجه می کنند. VS آزادی مهندسی بیشتری را فراهم می کند و امکان همکاری با پروژه های مختلف از یک محیط را فراهم می کند. اگر از Google Cloud Platform با استفاده از دستگاه های مجازی استفاده کرده اید یا فقط پروژه ها را مدیریت کرده اید ، Google به اندازه کافی مهربان است تا بتواند پسوند پلتفرم ابری خود را برای VS نیز فراهم کند. در اصل ، شما می توانید از هر دو اکوسیستم Microsoft Cloud و Google Cloud درست از Vs استفاده کنید. Visual Studio را می توان در تمام سیستم عامل های اصلی نصب کرد: ویندوز ، اندروید ، سیستم عامل MAC و لینوکس.

از Xcode تا Visual Studio. Xcode IDE ، مشابه VS ، از کد منبع برای همه زبانهای برنامه نویسی اصلی پشتیبانی می کند. بنابراین ، پس از انتقال جای تعجب نخواهد داشت. باز هم ، اگر هنگام استفاده از Xcode به Mac Os گره خورده اید ، سخت افزار Apple برای Vs. لازم نیست. برای کسانی که از CloudKit برای ذخیره سازی سمت سرور ، ویژوال استودیو و Xamarin استفاده می کنند ، ادغام ساده CloudKit را فراهم می کنند. اشکال اصلی استفاده از VS در مقایسه با Xcode قیمت آن است: هم Android Studio و هم XCode از آن استفاده می کنند در حالی که VS به هزینه اشتراک بسیار بالایی نیاز دارد.

According to developers’ estimates, Visual Studio and Android Studio, both, have mostly the same ease-of-use level and support quality. Comparing the same indexes with VS and Xcode, we can say that VS estimates are a bit better. Also, Visual Studio is more popular among enterprises (>1000 کارمند) در حالی که حدود 50 درصد از کاربران Android Studio و Xcode مشاغل کوچک (50 یا کمتر کارمند) هستند.

با توجه به رتبه بندی استراتژی در محیط های توسعه موبایل ، Xcode به بالاترین رتبه در ظرفیت های آزمایش همانطور که Visual Studio انجام داد ، رسید. استودیوی اندرویدی عقب مانده است. نمرات کل: Xcode-22 ؛ویژوال استودی و-21 ؛و Android Studi o-13.

با توجه به گزینه های دیگر: Xamarin vs Hybrid Development vs IOS/Android در مقابل سایر چارچوب های متقابل پلتفرم

اخیراً ، بسیاری از توسعه دهندگان تمایل دارند که موافقت کنند که Xamarin می تواند ابزار توسعه "بومی" در نظر گرفته شود. در واقع ، این عقیده وجود دارد که "یک چیز NYTH که می تواند در یک برنامه iOS با استفاده از Objective-C یا Swift انجام شود ، و هر کاری که می توان در یک برنامه اندرویدی با استفاده از جاوا انجام داد ، می تواند در C# با استفاده از Xamarin انجام شود."

با این حال ، بسیاری از مشکلات در بحث بومی در مقابل Xamarin وجود دارد. بیایید ببینیم که چگونه Xamarin با ابزارهای توسعه بومی و سیستم عامل های توسعه ترکیبی (Ionic ، PhoneGap/Cordova) مقایسه می کند.

Xamarin vs Native vs Hybrid Development

Xamarin vs Hybrid در مقابل توسعه بومی به طور خلاصه

اگرچه ابزارهای توسعه موبایل هیبریدی به سرعت در حال تحول هستند ، اما هنوز هم از عملکرد و قابلیت های بومی که Xamarin با همان هزینه ارائه می دهد ، فاقد عملکرد هستند. با این حال ، زمان کوتاه تر برای بازار همچنان مزیت اصلی آنها است.

در مورد انتخاب بین Xamarin یا IOS/Android بومی ، باید زمان و بودجه موجود را در نظر بگیرید (توسعه بومی معمولاً گران تر است و طولانی تر طول می کشد) و نوع برنامه. اگر به عملکرد سطح بالا و UI کاملاً تنظیم شده نیاز دارید ، ارزش آن را دارد که برای برنامه های بومی بروید.

هرچه چارچوب های متقابل پلتفرم بیشتر ظاهر و توسعه می یابند ، نگه داشتن موقعیت خود در بازار برای Xamarin سخت تر می شود. امروز ، تعدادی از چارچوب ها از نظر محبوبیت و عملکرد قبلاً از Xamarin پیشی گرفته اند. React Native به انتخاب برتر سال 2020 رای داده شد ، از نزدیک توسط Flutter.

statista-cross-platform-frameworks-popularity

دینامیک استفاده از چارچوب های موبایل متقاطع. منبع: آمار

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

توصیه

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

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

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

این مقاله بخشی از سریال "خوب و بد" ماست. اگر به توسعه وب علاقه دارید ، به پست وبلاگ ما در مورد

ثبت دیدگاه

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