راه های برنامه نویسی موبایل ۲

راه های برنامه نویسی موبایل 2Reviewed by ُسید عماد حجازیان on Oct 10Rating: 4.5راه های برنامه نویسی موبایل 2معرفی Xamarin و Unity از راه های برنامه نویسی موبایل

در پست های قبلی راه های مختلف برنامه نویسی مختلفی را برای موبایل معرفی کردیم.امروز قصد دارم در پست راه های برنامه نویسی موبایل ۲ تا شما را با ۲تا از معروف ترین راه های برنامه نویسی چند سکویی یا Cross Platform  برای توسعه برنامه های موبایل را ارائه دهیم.در این پست به بررسی Unity  و Xamarin می پردازیم که هر دو از Mono قدرت یافته اند

 

Unity

1441576529unity-logo

یونیتی در واقع موتور رندرینگ می باشد که معمولا از آن با عنوان انجین بازی سازی هم یاد می شود.این موتور رندرینگ قابلیت های بالایی برای خروجی گرفتن برنامه در محیط های Android,iOS,Windows Phone,Macintosh,Linux,Xbox,PS3,…. را دارد.

یونیتی به شما یک فضای ۲بعدی یا سه بعدی می دهد که شما می توانید آبجکت های خود اعم از UI KIT مانند Button,Textbox,… و یا هر شی دو بعدی یا سه بعدی در فضای کاری خود وارد کنید و با استفاده از  زبان های #C یا JavaScript یا Boo آبجکت های خود را مدیریت کنید.

21

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

اما به هر حال اگر نیاز به حرکت های عجیب غریب یا ظاهر خاص داشتید و مخصوصا بازی سازی یونیتی را توصیه می کنیم.

 

Xamarin

xamarin-logo

این کمپانی تقریبا از سال ۲۰۱۱ (البته تا اونجا که یادم میاد) شروع به کار کرد و از همان ابتدا محیطی را فراهم کرد که شما یکبار کد بزنید و برنامه های خود را متناسب با پلتفرم دلخواه خود آندروید،آی او اس،ویندوز فون خروجی بگیرید(مفهموم کراس پلتفرم)

تا همین یکی دو سال پیش(۲۰۱۴-۲۰۱۳)به شخصه تمایلی به استفاده از آن نداشتم چرا که عملن سینتکس های آن مشابه زبان اصلی پلتفرم ها بود و علاوه بر آن هنگام خروجی گرفتن با هزار جور ارور عجیب غریب مواجه می شدید.

اما وقتی که سال ۲۰۱۵ فهمیدم ویژوال استودیو ۲۰۱۵ Xamarin را در خود گنجاند و عملا می توان گفت زامارین مایکروسافتی شد(خیلی از نحوه همکاری و اینکه آیا مایکروسافت خریدتش یا نه خبر ندارم) خب با وجود اینکه مایکروسافت مخالفای خودشو داره اما بنده معتقدم که بالاخره سیاست های مدیریتیش مخصوصا در توسعه #C بسیار قابل تحسین است و میشه رو حرفش حساب کرد که اگه بریم یه زبانی رو با هزار جور زحمت یاد بگیریم فردا تعطیل نمیشه یا کلا تغییر مسیر نمیده!(همه اینا سلیقه شخصی بنده بود و میتونید به عنوان یه مشورت روش حساب کنید و بس)

 

یکی از مشکلات کراس پلتفرم برنامه نویسی کردن اختلاف های اساسی پلتفرم هاست که باید قبل از شروع برنامه نویسی آنها رو در نظر بگیرید در ادامه چند مثال که خودم باهاشون برخورد کردم را ذکر میکنم:

۱-ارتباط مستقیم با دیتابیس ریموت برای اندروید میسر است اما آی او اس نه(به خاطر محدودیت قوانین شرکت اپل)

۲-ارسال اطلاعات از طریق وایر لس و بلوتوس برای اندروید میسر است اما آی او اس نه

۳-ارسال اس ام اس برای اندروید میسر است ام برای ویندوز فون نه(فکر کنم آی اوس هم میسر نباشه اما جدیدا شنیدم که مایکروسافت تحت شرایطی اجازه میده اس ام اس ارسال کنید)

۴- شما در ویندوز فون اصلا امکان داشتن سرویس یا لیستنر نخواهید داشت

……

همه این مثال ها در تاریخ ۲۰۱۵ نوشته شده است دقت کنید که شاید سیاست تولید کنندگان در سال های آتی تغییر کند!!!!

 

purenative_500x393.jpg

خب خیلی از معرفی Xamarin  دور شدیم…

زامارین از #C و XMAL قدرت گرفته ام در آخرین ورژن خود Layout Designer خود را از برنامه حذف کرده و شما مجبورید که مانند HTML  ظاهر برنامه خود را طراحی کنید البته قواعد خودش را دارد.

در زامارین شما دو راه برای برنامه نویسی دارید اگر بخواهید کراس پلتفرم بنویسید باید با Xamarin.Form کار کنید که بحث XAML مطرح میشود

راه دیگر آن است که برای هر پلتفرم جداگانه کد نویسی کنید که برنامه نویسی آن با سی شارپ و محیط طراحی ظاهر آن همانند محیط طراحی پلتفرم های اصلی مانند Story Board iOS و Android Eclipse را برای شما فراهم می کند.

 

یک نکته مهم که شما باید برای خروجی گرفتن برنامه iOS و Windows  Phone  باید حتما سیستم عامل های Macintosh ,Windows را در اختیار داشته باشید و یا به صورت ریموت به آنها وصل شوید که SDK  اصلی را از آنها میگیرد و برای تولید خروجی نهایی به آنها متصل می شود.راه کار های مختلفی هست که می توان سیستم مکینتاش را در ماشین مجازی اجرا و استفاده کرد.

 

و نکته مهم دیگر در مورد لایسنس شما در حالت آزمایشی Trial , Starter را میتوانید داشته باشید.در حالت Starter برنامه شما به صورت رایگان خروجی داده میشود فقط در صورتی که بیشتر از ۱۲۸کیلو بایت باینری کد نداشته باشد و نمی توانید از Xamarin.form استفاده کنید.ولی در حالت Trial شما از تمامی امکانات آن میتوانید استفاده کنید ولی خروجی برنامه شما تا ۲۴ ساعت کار میکند و هنگام اجرا لوگوی زامارین ابتدای برنامه شما نمایش داده خواهد شد.!!!

 

نکته مهم دیگر: شما اگر بخواهید برای iOS خروجی بگیری باید Developer ID  اپل را داشته باشید که سالی ۹۹$ است و لایسنس سالیانه زامارین سالیانه حدودا حد اقل ۲۹۹$ است!

 

نکته خیلی خیلی خیلی مهم!!!!!!!!!!!!

اصلا نگران لایسنس نباشید!تیم Developersian دارای هر دو لایسنس رسمی می باشد.شما می توانید برنامه خود را به صورت کامل توسعه دهید و هنگام Deploy  یا خروجی گرفتن از طریق اکانت ما با پرداخت هزینه ریالی کمتر اقدام نمایید!این نکته را نیز به یاد داشته باشید که برنامه ها در استور های رسمی مثل AppStore  با نام Developersian عرضه می شوند اما خروجی آنها را میتوانید به صورت فایل برای خود داشته باشید بدون هیچ محدودین زمانی و هزینه ای!

 

    پاسخگو
    amir در سه شنبه ۲۱ اردیبهشت ۱۳۹۵ :

    besiar ali