https://d33sqmjvzgs8hq.cloudfront.net/wp-content/uploads/2014/12/CodeAndPlatforms.png

Write Once Run Anywhere یا به طور مخفف WORA اشاره به قطعه ای از کد دارد که یکبار بر روی یک پلت فرم نوشته شده است اما می تواند بر روی سیستم عامل های متعدد اجرا شود. از آنجایی که روز به روز تعداد سیستم عامل های تلفن همراه در حال افزایش است، توسعه دهندگان به سختی می توانند برنامه های خود را به یک فرم مصرفی برای تمام سیستم عامل ها دربیاورند.
هدف این مطلب ساخت برنامه های چند پلت فرمی با استفاده مجدد از کد است و برای کمک به شما برای کار بر روی برنامه های توسعه یافته کراس پلت فرم، در زیر 10 چارچوب برای توسعه برنامه های موبایل معرفی کرده ایم که بر روی سیستم عامل های مختلف از جمله اندروید، iOS، ویندوز فون، بلک بری و.... کار می کنند.

1. PhoneGap

این ابزار اپن سورس یک گزینه عالی برای ساخت برنامه های کراس پلت فرم موبایل همراه با نفوذ در فن آوری های وب موجود است. PhoneGap برای توسعه برنامه های موبایلی بسیار خوب است. این ابزار برنامه های شما را با استفاده از کانتینرهای برنامه بومی بسته بندی می کند که به جاوا اسکریپت اجازه می دهد مانند برنامه های عادی به سطح API دستگاه دسترسی پیدا کنند
مزایا
-اجازه ساخت برنامه های ترکیبی با استفاده از فن آوری های محبوب مانند HTML5، CSS3 و جاوا اسکریپت را می دهد.
-به شما اجازه می دهد یک کد پایه برای سیستم عامل های مختلف مانند iOS، اندروید، ویندوز، بلک بری، سیستم عامل فایرفاکس و.... توسعه دهید.
-معماری قابل پلاگین را دنبال می کند، بدان معنی که به APIهای بومی دستگاه دسترسی دارد و می تواند به شیوه ای ماژولار آنها را گسترش دهد.
-شما را قادر به استفاده از پرداخت های یکپارچه درون برنامه از طریق اپلیکیشن استور iOS، پلی استور گوگل برای اندروید می سازد.
معایب: عملکرد برنامه های گرافیکی فشرده که با استفاده از PhoneGap ساخته شده اند ضعیف است. اگرچه می توانید در صورت نیاز به راحتی پلاگین هایی برای PhoneGap پیدا کنید، اما تا حدودی قدیمی و یا پشتیبانی نشده هستند


2. Appcelerator

Appcelerator به ساخت برنامه های بومی با استقرار یک کد پایه جاوا اسکریپت کمک می کند و محتوای وب را در برنامه های بومی فراهم می سازد.


مزایا
-این ابزار برای توسعه سریع برنامه مفید است. نمونه اولیه آن می تواند برای ارزیابی تعامل کاربر با رابط کاربری ساخته شود.
-شامل یک دیتا استور به نام ArrowDB است که امکان استقرار مدل های داده را با کمترین تلاش راه اندازی فراهم می سازد.
-ادغام بدون درز را با سیستم های تحویل موجود مانند راه حل SCM و MDM ممکن می سازد.
-دارای اتصالات از پیش ساخته ای برای MS Azure، MS Azure، Salesforce، MongoDB، Box و... می باشد.
معایب: این ابزار به دلیل تاخیر خود شناخته شده است، هرچند نسخه جدید آن باثبات تر است. البته انتقادهایی در زمینه پشتیبانی ضعیف آن نیز وجود دارد.

3. Xamarin

زامارین به شما کمک می کند تا برنامه های بومی را برای سیستم عامل های مختلف با استفاده از کد پایه به اشتراک گذاشته C# بسازید. با زامارین می توانید هر کاری که در Objective-C، سویفت یا جاوا انجام می دهید را در C# هم انجام دهید و به شما اجازه می دهد از IDE، زبان و API مشابهی در همه جا استفاده کنید. علاوه بر این، ادغام Git به طور مستقیم در استودیو زامارین ساخته می شود.

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

4. Sencha Touch

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

مزایا
-تم های ظاهرا بومی را برای همه پلت فرم های اصلی ارائه می دهد.
-این برنامه از اندروید، iOS، بلک بری و ویندوز فون پشتیبانی می کند.
-در یک بسته داده آگنوستیک برای کار با منابع داده بسته بندی شده است.
معایب: اگر چه این ابزار تم های ظاهرا بومی را عرضه می کند، اما دسترسی تم ها محدود است

5. Monocross

Monocross یک چارچوب موبایل کراس پلت فرم اپن سورس است که برنامه های کاربردی زیبا برای آی پد و آیفون، گوشی های هوشمند و تبلت های اندروید، ویندوز فون و دستگاهای فعال شده با Webkit ایجاد کرده و ازچارچوب C#، مایکروسافت .Net و مونو برای توسعه برنامه های پشتیبانی شده توسط چند پلت فرم استفاده می کند

مزایا
-دسترسی به قدرت کامل رابط های برنامه دستگاههای بومی را فراهم می سازد.
-دسترسی به رابط های برنامه هایی که برای استقرار ایمن برنامه های خود نیاز دارید را فراهم ساخته و نیازی به یادگیری پیچیدگی های سطح پایین در هر پلت فرم وجود ندارد.
-از Monocross برای توسعه برنامه هایی که نیاز به سازگاری با C# و .Net برای فعالیت های توسعه و نگهداری مستمر برنامه دارند، استفاده می شود.
معایب: اسناد، منابع و پشتیبانی این ابزار در اینترنت کمیاب است و به همین دلیل توسعه برنامه ها با استفاده از این چارچوب سخت است.

6. Codename One

Codename One یک پلت فرم کراس دیوایس با هدف قابلیت استفاده آسان، توسعه سریع برنامه، یکپارچگی عمیق پلت فرم بومی با سرعت است. در حالی که نیاز به اجرای کدها در جاوا دارید، برنامه شما می تواند با استفاده از دستگاه شبیه ساز و ابزار اتوماسیون Codename One آزمایش و اعتبارسنجی شود.

مزایا
-از بسیاری از IDE های محبوب مانند NetBeans، Eclipse و IntelliJ پشتیبانی می کند.
-معماری سبک آن اجازه می دهد رابط کاربری در تمام سیستم عامل ها به خوبی کار کند.
-سرورهای ساخت آن اجازه ساخت برنامه های iOS را بدون نیاز به ماشین مک و برنامه های ویندوز بدون نیاز به کامپیوترهای ویندوز را می دهد.
-از ParparVM استفاده می کند که پشتیبانی از نسخه های بعدی iOS را فراهم می سازد.
معایب: به طور پیش فرش تم های بصری آن کمی بدوی هستند و رابط کاربری گرافیکی آن ممکن است برای پروژه های بزرگ زیاد مناسب نباشد. در واقع با افزایش پیچیدگی پروژه، حفظ یک فایل با تمام گرداننده های رویداد بسیار دست و پاگیر خواهد شد.

7. Kony Mobile Platform

Kony یک پلت فرم توسعه موبایل کراس پلت فرم است که می تواند برای ساخت برنامه های موبایل جهانی استفاده شود. این پلت فرم دارای ویژگی های خودکار برنامه نویسی، امکانات پیش نمایش برنامه، قابلیت اتصال به API و.... می باشد.

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


مزایا
-امکان ساخت رویدادهای کسب و کار مبتنی بر محاسبه برای اطلاع به کاربران را فراهم می سازد، حتی هنگامی که دستگاه در حالت آماده به کار باشد.
-اتصال به داده های شرکت را با انواع اتصالات مانند دیتابیس های SQL یا وب سرویس ها فراهم می سازد.
-با تکنولوژی تکثیر داده Fullsync، داده ها می توانند به صورت محلی دربیایند حتی اگر شبکه در دسترس نباشند.
معایب:  Convertigo دارای سه برنامه مختلف است که هر کدام از آنها دارای پشتیبانی جداگانه ای هستند، اما دارای پشتیبانی از داده های آفلاین Fullsync نیست.

9. Nativescript

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

مزایا
-دارای پشتیبانی از Angular.js 2 و TypeScript است.
-به شما اجازه می دهد از بیشتر کتابخانه های جاوا اسکریپت که بر اینترنت متکی نیستند، استفاده کنید.
-برنامه آن اجزای بومی را راه اندازی می کند و دسترسی مستقیم به رابط های برنامه کاربردی بومی و دسترسی کامل به کتابخانه های توسعه داده شده دارد.
-دارای پشتیبانی از رابط کاربری اعلانی کراس پلت فرم است که به شما اجازه می دهد رابط کاربری برنامه را ساخته و به آسانی از آن برای پلت فرم های پشتیبانی شده استفاده کنید.
معایب: Multi-threading یکی از مشکلات موجود در Nativescript است که می تواند در نسخه های بعدی بهبود بیابد.

10. RhoMobile

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

مزایا
- RhoElementsیک راهنمای رابطه ای شی گرا ارائه می دهد که همگام سازی خودکار با داده ها و حتی ویژگی خودکار رمزگذاری داده ها را فعال می سازد.
- با امکان دسترسی به داده های آنلاین مانند Convertigo، RhoConnect به توسعه دهندگان اجازه ادغام هماهنگ سازی داده ها در برنامه ها را می دهد.
معایب: پلاگین RhoElements RFID برای موبایل های ویندوز به صورت اپن سورس و رایگان در دسترس نیست.