قبل از مطالعه این مطلب باید با مفاهیم Cross-platform ،Native و Web App آشنایی داشته باشید و بطور خلاصه اپلیکیشن های Native یعنی برای هر سیستم عامل بصورت جدا و با زبان برنامه نویسی خاصی برنامه نویسی میشود و بعنوان مثال اندروید با زبان جاوا Java و آی او اس با زبان سوئیفت Swift به صورت جداگانه برنامه نویسی میشود. نرم افزار های Cross-platform یعنی در یکی از ابزار ها یا محیط های برنامه نویسی که در ادامه معرفی میکنیم برنامه نویسی انجام میشود و اپلیکیشن برای سیستم عامل های مختلف اپلیکیشن ایجاد میشود.
در اپلیکیشن های Web App یا وب ویو یک صفحه سایت به صورت رسپانسیو طراحی میشود که در سایز های مختلف موبایل به زیبایی نمایش داده شود و آن را در مرورگر های اندروید یا آی او اس در قالب یک اپلیکیشن اجرا میشود و وبسایت ساخته شده در آن اپلیکیشن ها نمایش داده میشود.
این سه روش بصورت کاملا فشرده و خلاصه بیان شد و جهت کسب اطلاعات بیشتر میتوانید در گوگل سرچ کنید و هر کدام از این روش ها مزیت و معایبی دارد و روش متداول برای ساختن اپلیکیشن مخصوصا در ایران Native میباشد.
وقتی بیشتر مردم درباره ساخت یک برنامه کاربردی تلفن همراه فکر میکنند، ذهن آنها مستقیماً به توسعه بومی یا همان Native میرود. توسعه Native هزینه های بیشتری نسبت به بقیه دارد و از طرفی محبوبیت کراس پلتفرم Cross-platform در طراحی اپلیکشین موبایل در حال افزایش است.
رورش Cross-platform در طراحی اپلیکیشن موبایل به شما امکان را می دهد که به طور همزمان یک برنامه برای Android، iOS و ویندوز را طراحی و پیاده سازی کنید. اما آیا این برنامه ها می توانند به خوبی همان برنامه های بومی (Native) باشند؟
صادقانه بگویم که اگر از ابزارها و منابع مناسب استفاده کنید، کاربران نمیتوانند تفاوت را احساس و بیان کنند.
اما شما از کجا شروع کنید؟ برای توسعه Cross-platform از چه ابزارهایی استفاده میشود؟
بهترین ابزار های توسعه به روش Cross Platform (کراس پلتفرم)
اولین کار برای توسعه به روش Cross Platform باید ابزاری مناسب برای این کار پیدا کنید که من در ادامه به بهترین های آنها اشاره میکنم و لیست این ابزار ها را از بالا به پایین بر اساس سهولت کار و عملکرد فوق العاده مرتب کرده ام. اینها محبوبترین انتخابها از نظر کیفیت هستند، پس آنها را بررسی کنید و تصمیم بگیرید که کدام برای نیازهای خاصی که دارید بهترین است.
توسعه اپلیکیشن در Appcelerator
توسعه دهندگان می توانند از طریق کدهای پایه جاوااسکریپت برای برنامه های Native و برنامه های تلفن همراه مبتنی بر ابر(cloud) استفاده کنند و از این کد می توان برای ایجاد برنامه در سیستم عاملی استفاده کرد.
یکی از مزیت های Appcelerator تضمین کیفیت آنهاست و همچنین قادر به مشاهده گزارشات باگ ها یا کرش ها و مشکلات برنامه در موبایل های مختلف باشید و اقدام به رفع آنها کنید. تقریبا شبیه امکانات فایربیس گوگل که میتواند گزارشی از کرش های اپلیکیشن به همراه مشخصات آنها در کنسول فایربیس مشاهده کرد.
همه توسعه دهندگان Appcelerator به Hyperloop بصورت رایگان دسترسی دارند و این یکی از بهترین و قوی ترین Api های توسعه Cross Platform در بازار است.
توسعه اپلیکیشن در PhoneGap
PhoneGap متعلق به شرکت بزرگ Adobe میباشد. این ابزار یکی از محبوبترین های ابزار های توسعه Cross Platform در بین توسعه دهندگان میباشد. این ابزار بر اساس Apache Cordova که اپن سورس است، کار میکند. این فریمورک منبع باز به شما اجازه می دهد به مجموعه ابزار دسترسی پیدا کنید، که PhoneGap این امکان را برای شما فراهم می کند تا سرعت پیاده سازی اپلیکیشن برای شما بیشتر باشد.
از دلایلی که من از PhoneGap را دوست دارم این است که شما به راهنماهایی مخصوص خودشان هست دسترسی دارید. حتی اگر تجربه ای نداشته باشید میتواند به راحتی یاد بگیرد که چگونه و چطور از ابزار هایشان به خوبی استفاده کند.
افرادی که پیش از این مهارتهای توسعه وب را در یاد گرفته اند وقتی بحث در مورد برنامههای ترکیبی مطرح میشود لازم نیست تا که مباحث زیادی را یاد بگیرند زیرا PhoneGap از جاوا اسکریپت، HTML و CSS برای ایجاد برنامه های Cross Platform استفاده می کند.
همچنین هنگام کار با این ابزار لازم نیست که از SDK های بومی یا Native نگهداری کنید چون در کلود یا فضای ابری برای شما نگهداری میشود.
طراحی اپلیکیشن موبایل در Xamarin
معروف ترین ابزار در ایران برای ساختن اپلیکیشن های Cross Platform میباشد. Xamarin از محصولات Microsoft Visual Studio است. زامارین به شما این امکان را میدهد که با استفاده از کدهای .NET بتوانید اپلیکیشن اندروید، آی او اس و ویندوز بسازید.
برنامه هایی که با Xamarin ساخته میشوند کیفیت بالایی دارن به طوری که احساس میشود که به صورت بومی(Native) نوشته شده است و به این دلیل است که Xamarin از رابط های(interfaces) بومی Native استفاده میکند که طوری رفتار کند، کاربر انتظار آن را داشته باشد.
بیش از ۷۵ % کد شما بدون توجه به پلتفرمی که برای آن ساخته شدهاست یکسان خواهد بود و Xamarin کد مشابه را شناسایی کرده و فرایند توسعه متقابل برای پلتفرم یا سیستم عامل دیگر را سرعت می بخشد.
شما میتوانید به ides خود در هر سطحی که ترجیح میدهید، دسترسی داشته باشید. visual studio برای هر دو نسخه مک و مک قابلدسترس است. هر دو سیستم با ابزارهای انتشار، اشکال زدایی(debugging)، طراحی رابط کاربر و ویرایشگر کد همراه هستند.
توسعه اپلیکیشن در Redhat
redhat که قبلاً به عنوان FreedHenry شناخته میشد، یک منبع جهانی از راه حل های منبع آزاد(open source) محسوب میشود. آنها خدمات ویژهای را برای توسعه cross-platform و mobile backend ارائه میکنند. این به شرکتها اجازه میدهد تا برنامههای کاربردی تلفن همراه برای آندروید، iOS و ویندوز را همزمان از طریق cloud ابر انجام دهند.
برخی از ابزارهای Redhat که مربوط به توسعه اپلیکیشن هستند عبارتند از:
- OpenShift application runtimes
- OpenShift application container platform
- Developer studio
- Decision manager
- Data grid
- Process automation manager
- JBoss enterprise application platform
- JBoss web server
همانطور که ببینید آنها طیف وسیعی از ابزارهایی دارند که به شما در رفع نیازهای توسعه cross-platform کمک میکنند.
توسعه اپلیکیشن در Alpha Software
نرمافزار آلفا Alpha Software یک راهحل برای شرکتها است و هدف اصلی این نرمافزار ساخت برنامههای تجاری که برای استفاده کارمندان مورد استفاده قرار میگیرد، میباشد.
برخی از ویژگی های مشترک ساخته شده با نرم افزار آلفا عبارتند از:
- Event reports
- Work orders
- Field research
- Signature capture
- Medical forms
- Safety checklists
- Equipment inspections
- Service dispatch
این ویژگی ها به اندازه کافی متنوع هستند که بتوان نیازهای شرکتها را در هر صنعتی رفع کرد. شرکت نرمافزار آلفا یک نسخه رایگان ۳۰ روزه در اختیارتان میگذارد، پس حداقل ارزش امتحان کردن را دارد.
توسعه اپلیکیشن در Sencha Ext JS
با sencha Ext JS میتوانید برنامههای تحت وب را برای موبایل های هوشمند، تبلت و دسکتاپ طراحی و توسعه دهید. این فریمورک(framework) از قابلیتهای HTML5 مرورگرهای مدرن استفاده میکند. همه اجزای رابط کاربر(UI) قبلاً یکپارچه شده و برای برای عملکرد مطلوب آزمایش شده اند.
اجزای موجود شامل گرید(grids)، فرم ها، منوها، صفحات، نوار ابزار و لیست ها هستند و صدها افزونه برای سفارشی سازی(customization) در هنگام توسعه وجود دارد.
بسته دادههای Ext JS قوی بوده و به شدت عملکردی با یک مدیر چیدمان انعطافپذیر دارد. این به شما امکان میدهد تا نحوه نمایش محتوای خود را براساس دستگاه، اندازه صفحه نمایش و مرورگر خود تنظیم کنید.
توسعه اپلیکیشن در Kony Quantum
Kony Quantum یک راه ساده تر جهت ساخت برنامه های موبایل برای سیستم عامل های مختلف است و به این دلیل است که آنها دارای یک بوم بصری(visual canvas) با اجزای از قبل ساخته شده برای انتخاب شما آماده کرده اند.
شما میتوانید از Kony Quantum برای ایجاد برنامههای جدید استفاده کنید و یا برنامههایی که دارید را بهبود بخشید.
این ابزار برای توسعه دهندگان بی تجربه عالی است. نتیجه نهایی پروژه توسعه کراس پلت فرم شما مدرن، زیبا و جذاب خواهد بود و یک تجربه جذاب برای کاربر ایجاد می کند.
گزینه های زیر به اندازه ابزارهای پیشرفته توسعه cross-platform که تاکنون گفته شد قدرتمند و محبوب نیستند اما هنوز هم بسیار مفیدند و یادگیری آنها بسیار آسان است و برای اپلیکیشن های موبایل ساده میتوان از آنها استفاده کرد.
ابزار توسعه اپلیکیشن موبایل Mobincube
Mobincube یک ابزار چند پلت فرمی است که برای ساخت برنامه های بومی(Native) برای آندروید و iOS استفاده می شود. تا کنون بیش از ۱۹۳,۰۰۰ برنامه توسط کاربران Mobincube منتشر شده است.
علاوه بر این اپلیکیشن هایی که با این ابزار ساخته شدند جمعا به بیش از ۱۰۸ میلیون بار دانلود رسیده اند و باعث بیش از ۳.۲ میلیون دلار درآمد برای توسعه دهندگان شدهاست.
ثبت نام در Mobincube رایگان و همچنین استفاده از آن بسیار آسان است. اگر میخواهید ویژگیهای دیگری مانند بهینهسازی در فروشگاه app، حذف آگهی، و مدیریت کاربر از ابر cloud را بخواهید، باید یکی پلن های پولی را بخرید و اکانت خود را ارتقا دهید.
ابزار توسعه اپلیکیشن موبایل IntelliJ IDEA
IntelliJ IDEA یک محصول منبع باز از JetBrains است. شما با استفاده از این ابزار بدون اینکه پلاگینی یا افزونه ای نصب کنید به ابزار های زیادی و کنترل ورژن و انواع فریمورک ها و زبان های برنامه نویسی دسترسی دارید.
این ابزار بیشتر توسعه جاوا برای اندروید استفاده می شود اما می توان از آن برای توسعه cross-platform استفاده کرد.
ابزار توسعه اپلیکیشن موبایل در Qt
Qt بر اساس چیزی که در وب سایتان نوشته است ادعا می کند که هشت شرکت از ده شرکت برتر فورچون(Fortune) در بیش از ۵۰۰ محصول خود از این ابزار استفاده می کنند.
Qt برای توسعه سریع، آمادهسازی و نمونهسازی(demo) مناسب است و ابزارهای رابط کاربری(UI) برای توسعه دهندگان و طراحان در نظر گرفته است. این پلت فرم قابل اعتماد و پایدار است و نتایج با کارایی بالا را به دست می آورد.
ابزار توسعه بازی موبایل در Cocos2D
Cocos2D برای کسانی ساخته شده است که می خواهند یک بازی به روش cross-platform ایجاد کنند و ابزار های زیادی برای توسعه بازی در اختیار کاربران میگذارد.
Cocos Creator همچنین دارای ابزاری مانند پیش نمایش بازی، موتور بازی، ویرایش صحنه، انتشار و اشکال زدایی بازی است. همه اینها باعث می شود که شما بتوانید بازی موبایل خود را در سیستم عامل مختلف نصب کنید.
Corona
Corona یک فریمورک دیگری برای توسعه cross-platform است که برای ایجاد اپلیکیشن های بازی برای دستگاههای موبایل و سیستمهای کامپیوتری دکستاپ استفاده میشود. اپلیکیشن شما بعد از انتشار در دستگاه های متخلفی از جمله موارد زیر قابل اجرا میباشد:
- iPhone
- iPad
- Android phones
- Android tablets
- Amazon Fire
- Windows desktop
- Mac desktop
- Apple TV
- Android TV
- Fire TV
کورونا(Corona) از زبان برنامه نویسی لوا(Lua) استفاده میکند، که یک زبان برنامهنویسی open source و سریع، سبک و قدرمتند است. برخی از محبوبترین بازیهای دنیا مانند Birds Angry و “Warcraft” از لوا استفاده میکنند.
Corona یک ابزار توسعه cross-platform رایگان است و همه اپلیکیشن هایی که ساخته میشود فقط یک سورس دارند که با همان کد سورس می توانید بر روی تمام دستگاه ها اجرا کنید.
Ionic
میلیون ها نفر از توسعه دهندگان برای ساخت برنامه های خود از ایونیک(Ionic) استفاده میکنند. از فریمورک جاوا اسکریپت(JavaScript) برای توسعه کراس پلتفرم(cross-platform) و همچنین از ابزار های منبع آزاد رابط کاربری استفاده میکند که با یک سورس کد میتوانید اپلیکیشن Android و ios و web به صورت بومی Native توسعه دهید.
همچنین Ionic هزاران راهنما و منابع دارد که به شما در رسیدن به فرآیند ساختوساز کمک کند و جدیدترین نسخه ادعا میکند کوچکتر، سریعتر و گستردهتر از همیشه است.
RubyMotion
همانطور که از نامش مشخص است RubyMotion برای نوشتن برنامههای بومی به روش cross-platform با زبان برنامهنویسی روبی(Ruby) ساخته شدهاست. در RubyMotion تمام برنامه های کاربردی با استفاده از خط فرمان ترمینال ساخته می شوند. همچنین در مقابل یاد گرفتن نحوه استفاده از یک ویرایشگر جدید میتوانید از ویرایشگر مورد علاقه خود استفاده کنید.
Dropsource
به نسبت بقیه ابزار ها و ویرایشگرهایی که معرفی کردیم Dropsource تقریبا جدید است و یک پلت فرم مبتنی بر مرورگر است که برای استفاده نیاز نیست چیزی را روی دستگاه خود نصب کنید.
شما میتوانید برنامه های بومی native به روش cross-platform را با Swift و Java توسعه دهید. اگر فکر میکنید که Dropsource بدلیل مبتنی بر مروگر بودن ضعیف است و امکاناتی را ندارد اشتباه میکنید و میتوانید از ابزار های geolocation, face ID, touch ID, push notifications و video recording در اپلیکیشن خود استفاده کنید.
Dropsource یک ویرایشگر بصری و REST API دارد که برای ترکیب دادههای یکپارچه ایدهآل است. به راحتی میتوانید برنامه خود را با فرآیند کشیدن و رها کردن(drag and drop) بروزرسانی کنید.
طراحی و توسعه اپلیکیشن بدون برنامه نویسی در AppsMoment
AppsMoment حدود ۶ سال است که فعالیت میکند و در این مدت از حدود ۶۰,۰۰۰ نفر بیش از ۷۰۰,۰۰۰ برنامه منتشر شده است.
هیچگونه کدنویسی برای ساختن این برنامه های موبایل در این پلتفرم لازم نیست. آنها بیش از ۵۰۰ قالب برنامه و ۱۲۰ ویژگی برای سرعت بخشیدن به روند ساخت اپلیکیشن در اختیار شما گذاشته اند.
طراحی و توسعه اپلیکیشن در Progress Kinvey
Progress Kinvey برای توسعه دهندگان وب ساخته شدهاست که در حال حاضر جاوا اسکریپت را یاد دارند. با دانش قبلی JS
شما میتوانید به راحتی برنامههای بومی Native به روش cross – platform را برای Android و iOS بسازید.
طراحی و توسعه اپلیکیشن در +Mag
Mag + دارای نرم افزار انتشار دیجیتال است که برای ساختن برنامه های موبایلی کسب و کار در همه سیستم عامل های مختلف طراحی شده است. شما با کمک ابزارهای Mag + می توانید برنامه خود را طراحی، ساخت، توزیع و انتشار دهید.
مگ پلاس به اندازه بقیه مواردی که تاکنون مطرح کردیم محبوب نیست و کمتر از ۵۰۰۰ برنامه با این پلتفرم ساخته شده است. اما نام های بزرگی مثل Volvo ،United Airlines و Harvard Business School اپلیکیشن هایشان را با این پلتفرم ساخته اند.
من این پلتفرم را برای اپلیکیشن هایی مانند روزنامه ها، ارائههای فروش(sales presentations)، مجلات برند(branded magazines) و کاتالوگ محصولات توصیه می کنم.
زبانهای برنامه نویسی(Programming Languages)
زبان های برنامه نویسی متعددی برای توسعه اپلیکیشن های موبایل به صورت cross – platform وجود دارد و هرچقدر شما زبان های بیشتری یاد داشته باشید قطعا انتخاب بهتری در لیستی که گفته شد خواهید داشت.
برخی از زبان های برنامه نویسی جدید هستند و برخی قدیمی هستند و برخی دیگر برای توسعه بومی Native در پلتفرمی خاص مشهور هستند. در هر صورت ما در تیم سورگ زبانهای توسعه سطح بالای برای کراس پلتفرم cross-platform را در لیست زیر در نظر گرفته ایم تا برای پروژه های خود استفاده کنید.
جاوا اسکریپت JavaScript
جاوا اسکریپت یکی از عناصر اصلی اینترنت است و برای برنامههای تحت وب ضروری است. اکثر وب سایت ها از جاوا اسکریپت استفاده می کنند و مرورگرهای وب به طور معمول موتورهای JS اختصاصی برای اجرای قابلیت های این زبان را دارند.
این یکی از بهترین زبانهای برنامهنویسی برای مبتدیان است که تجربه ای در برنامه نویسی ندارند ودر این کار جدید هستند. برای آنهایی که در توسعه وب با تجربه هستند، ساخت یک app موبایل به روش cross-platform با استفاده از JS آسانتر خواهد بود.
جاوا Java
جاوا یک انتخاب عالی دیگر برای توسعه cross-platform است و نقطه ضعف زیادی برای استفاده از این زبان برنامهنویسی برای ساخت هر نوع app وجود ندارد زیرا تقریباً در همه جا سازگاری دارد.
Ruby
روبی یک زبان برنامهنویسی جدیدتر نسبت به بقیه است که منبع باز(open source) است و هدف آن این است که تا جای ممکن ساده و سبک باشد. برخلاف برخی از زبانهای دیگر، روبی Ruby به طور خاص برای کاربردهای تلفن همراه طراحی شده بود.
C++
++C به عنوان یک زبان برنامه نویسی عمومی ظاهرا در همه جا وجود دارد و این زبان بر روی سیستم عامل هایی مانند مک، ویندوز، یونیکس و لینوکس اجرا می شود.
این زبان بهتر است اولین انتخاب شما برای اپلیکیشن های cross-platform تلفن همراه باشد، زیرا می تواند به دلیل سنگینی زیاد فشار به منابع تلفن همراه اضافه کند.
C#
C# در حال تبدیل شدن به یکی از محبوب ترین زبان ها برای اپلیکیشن های وب به روش cross platform است.
Objective-C برای Mac و C# برای Microsoft
اگر شما با جاوا، C++، یا C آشنا هستید آنوقت شما می توانید C# را انتخاب کنید و راحت تر یاد بگیرید. این زبان شی گرا را می توانید نسبتا سریع بیاموزید.
HTML5
HTML5 زمانی که با جاوا اسکریپت همراه باشد قوی تر است. این پنجمین نسخه استاندارد HTML است که برای تعریف رفتارها و ویژگیهای محتوای وب مورد استفاده قرار میگیرد.
این زبان برنامهنویسی به شما کمک میکند تا برنامه شما با سیستم های رومیزی desktops سازگار باشد.
نتیجه گیری
برنامه تلفن همراه شما باید در هر پلتفرمی در دسترس باشد، اما ساخت برنامه های جداگانه برای هر پلتفرم می تواند هزینه زیادی داشته و وقت گیر باشد. به همین دلیل است که شما باید از یک ابزار مناسب برای توسعه به روش cross-platform استفاده کنید.
برای انتخاب ابزار مناسب برای توسعه به روش کراس پلتفرم باید به نکاتی مانند امکانات و قابلیت های آن ابزار و زبان برنامه نویسی با توجه به تخصص شما و در دسترس بودن منابع یادگیری آن توجه کنید.
با اینکه توسعه اپلیکیشن به صورت Native زمان بر و هزینه بیشتری دارد اما ویژگی های زیادی هم دارد که در آینده به آنها اشاره خواهیم کرد.
شما به کدام روش تمایل بیشتری برای توسعه و طراحی اپلیکیشن های خودتان دارد؟ توسعه بومی Native یا کراس پلتفرم cross-platform؟
بدون دیدگاه