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

راه های برنامه نویسی موبایلReviewed by ُسید عماد حجازیان on Aug 6Rating: 2.0راه های برنامه نویسی موبایلبررسی انواع کامپایلر ها و زبان های مختلف برای تولید یک اپ موبایل!

Mobile Programming

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

سلام.در این مقاله قصد دارم شما رو با راه های برنامه نویسی و توسعه نرم افزار های انواع پلتفرم های موبایل آشنا کنم.

اول که وارد این وادی میشید هزاران سوال برایتان پیش می آید که از کجا شروع کنیم؟برای چه سیستم عاملی بنویسیم؟باید چه زبانی بلد باشیم؟…. ما قصد داریم به همه سوال های شما پاسخ دهیم

mobility-thidiff

از معروف ترین سیستم عامل های موبایل می توان به iOS ,Android,Windows Phone اشاره کرد در آمار مصرف کنندگان جزو بشترین ها در سال ۲۰۱۴ هستند.بعد از این این سه سیستم عامل ،سیستم عامل های سیمبیان و بلک بری و بادا از طرفدارن کمتری برخوردارند!

 

 

آمار

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

World_Wide_Smartphone_Sales

http://en.wikipedia.org/wiki/Mobile_operating_system#cite_note-8

بر اساس آمار منتشر شده در ویکی پدیا همانطور که مشاهده میکنید آما مصرف کنندگان آندروید سیرصعودی را طی کرده است و سیمبیان تقریبا از گردونه رقابت حذف شده است.طبق نمودار میبینید که ios با طمانینه و آرامش داره مسیر خودش رو طی میکنه و ظاهرا عقب تر از آندروید است!اما همیشه این حرف دوستم به یادم مونده: شاید اپل مشتری های کمتری داشته باشد اما یادت باشه که معمولا مشتری های اپل پول دارترند چون اپل جز گوشی های لوکس به حساب میاد!وخیلی راحت میتونی اپ خودتو به مبلغ بالایی بفروشی و اگه ارزششو داشته باشه مطمعن باشی که خیلی راحت میتونی تعداد بالایی از آن را بفروشی!

در فروش اپ دقت داشته باشید که همیشه این استراتژی را داشته باشید که سود کم اما تعداد بالا میتواند شما را در فروش موفق کند!

iOS

بگذارید یک مثال بزنم فرض کنید یک اپ نوشتید و قیمت ان را ۱۰۰۰تومان گذاشتید و ۲۰ میلیون نفر آنرا خریدن!خب حالا چقدر عاید شما شده است؟!

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

برای توسعه و برنامه نویسی این سیستم عامل باید حتما اپل ای دی معتبر و رجیستر شده داشته باشید.یکی از مسایلی که ممکن است در مورد برنامه نویسی این سیستم عامل ممکن است ازار دهنده باشد این است که قوانین اپل برای توضیع و فروش برنامه سختگیرانه باشد و اینکه شما حتما برای خروجی گرفتن به یک سیستم عامل مکینتاش نیاز دارید(یعنی یه لپتاپ اپل هم باید جور کنید برای خودتان)

خب حالا میریم سراغ برنامه های توسعه

 

      Xcode

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

فقط قابل نصب بر روی مکینتاش!

xcode

 

Android

این سیستم عامل از طرف شرکت گوگل توزیع شده است و بر رو موبایل های htc,LG,Samsung,Sony,…نصب شده است و  از لحاظ امار مصرف کنندگان رقیب ios  میباشد.

 

Eclipse
Eclipse-IDE-with-Android-Sample-Project-Snake

این کامپایلر محبوب ترین و رایج ترین روش برای توسعه برنامه های اندروید می باشد که به وسیله ی یک پلاگین به  android SDK متصل میشود و محیط آن آماده می شود برای برنامه نویسی اندروید.

زبان برنامه نویسی در Eclipse  ، java است که بیشتر کتابخانه های java  را میتوان نیز استفاده کرد.

جدیدا شرکت گوگل یک کد ادیتور رایه داده است که بسیار شبیه eclipse  است ولی زیبا تر و با اندروید سازگار تر است:

Android Studio

قابل نصب بر روی ویندوز و لینوکس و مکینتاش!

برای دانلود این برنامه باید آی پی خود را عوض کنید زیرا در حال حاضر از طرف گوگل این بخش برای کاربران ایرانی بسته شده است!

 

        Basic 4 Android

یک کامپایلر معمولی که از زبان Basic پشتیبانی میکند و در میان رقبا امتیاز و برتری خاصی ندارد جز اینکه کامپایلر مناسبی برای دوست داران زبان Basic است.

قابل نصب فقط روی ویندوز!

 

         AIDE

این کامپایلر بر روی سیتم عامل اندروید قابل نصب است و به وسیله زبان های java , C++ میتوانید روی ان برنامه نویسی کنید!

device-2012-02-09-175450

 

Windows Phone

 

        Visual studio

 

B6DE96F5A

این سیستم عامل از طرف کمپانی  Microsoft  صادر شده است و در حال حاضر فقط بر روی موبایل های Nokia  توزیع شده اند! که در حال حاضر یعنی سال ۲۰۱۴    Nokia  توسط Microsoft خریداری شد. از این رو ما اینده روشنی رو برای این سیستم عامل پیش بینی میکنیم!

بهترین راه برای توسعه و برنامه نویسی برای این سیستم عامل محبوب استفاده از Microsoft Visual Studio است که از زبان C#  پشتیبانی میکند!

 ———————————————-

Cross-Platforms

از همه این ها بگذریم به بحث شیرین و سوال برانگیز Cross Platform  ها   میرسیم!

خب قبل از اینکه انواع شرکت های ارایه دهنده انواع Cross Platform  ها رو معرفی کنم اجازه بدید که اصلا بگم Cross Platform چیه و چه کاربردی داره!

Cross platrform  شیوه ای برای توسعه توریع های نرم افزاری می باشد با این شعار :

write once, debug everywhere

که این مفهوم را می رساند که شما یک بار کد مینویسید و روی چندین سیستم عامل یا بهتر بگوبم روی چندین معماری کامپیوتری مختلف اجرا میکنید!خب خیلی خوشحال نشید!اینجا آخر خط نیس! کراس پلتفرم ها اگرچه کار شما را آسان میکنند اما همیشه به خوبی و قدرت  Native-platform  ها (کامپایل کردن و خروجی گرفتن از برنامه برای یک سیستم یا دستگاه منحصر به فرد)نیستن!مشکلاتی مانند تفاوت در وقفه های پردازنده برای کارهای محاسباتی ویا تفاوت در ظاهر کلی سیستم عامل ها گاها به شما اجازه نمیدهند بهره ی مناسبی از این تکنولوژی ببرید!

حال به معرفی چند cross-platform  معروف می پردازیم!

 

        Xamarin

 

5

یکی از قوی ترین ها در نوع خودش است که می توان از ان به دو صورت استفاده کرد:

۱برنامه نویسی برای ویندوز و مکینتاش

۲ برنامه نویسی برای آندروید و ios

که در همه این موارد شما باید با زبان C#  کد نویسی کنید! که یکی از دلایل محبوبیت آن هم همین است.

این محصول به صورت مستقل (Monodevelop) و یا به صورت پلاگین بر روی visual studio  قابل استفاده است.در حال حاضر این محصول رایگان نمی باشد و همین امر باعث شده تا طرفداران خاص خود (شرکت ها و تیم های کاری) را داشته باشد!این محصول شما را حتی تا مرحله نهایی تست روی شبه ساز ها همراهی میکند!اما زمانی که میخواهید بر روی دستگاه واقعی خروجی بگیرید به مشکلاتی بر میخورید!البته کرک هایی برای آن ارایه شده است!اما به دلیل پیچیدگی استفاده آنها را توصیه نمیکنیم!

Monodevelop  قابل نصب بروی windows,macintosh,linux  می باشد!که این ویژگی آن نیز به کار تیمی کمک شایانی میکند!

 

        Phone gap

 

Build-Diagram-3

یکی از معروف ترین ها فریم ورک فون گپ می باشد که معمولا مورد توجه طراحان وب قرار میگیرد!زیرا اساس برنامه نویسی آن زبان های HTML,CSS,jQuery  می باشد که به شما قابلیت خروجی گرفتن برای تمامی سیستم عامل های موبایلی را میدهد من جمله : ios – android – windows phone – black bery os – Symbian – bada

که به لطف HTML5  به شما قابلیت استفاده از امکانات سخت افزاری همچون وبکم ، ژیروسکوپ(نوعی سنسور زاویه برای موبایل ها)،سنسور دما و …. میدهد.

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

هنچنین به شما قابلیت بازی نویسی ۲بعدی را میدهد که معمولا از بازی های اینترنتی فراتر نمیروند!

 

         Embarcadero

 

590px-Development_an_iOS_application_on_Windows

این برنامه به شما این امکان را میدهد از ابزار مشابه بین اندروید و آی او اس در یک طراحی یکسان استفاده کنید و از برنامه خود چندین خروجی متفاوت بگیرید!زبان برنامه نویسی آن دلفی Delphi  است که شباهتی به basic  و C#  دارد

ازمعایب آن میتوان به این موضوع اشاره کرد که برای خروجی برنامه آی او اس شما نیاز به یک مک نیاز دارید!البته خودش راه حلی برای آن ارایه داده که تیم ما تا اکنون سمت آن نرفتیم زیرا در تست و ازمایش آن موفق به استفاده از زبان فارسی نشدیم به همین دلیل از استفاده از این برنامه تاکنون خودداری کرده ایم!(utf-8,farsi saz Maryam,….) وهزاران روش دیگر را امتحان کردیم!اگر شما موفق شدید به ما اطلاع دهید.خوشحال میشویم تجربیات شما را به اشتراک بگذاریم!

از محاسن آن میتوان گفت که به راحتی برنامه خود را میتوانید به دیتابیس های oracle , mysql,sql server متصل کنید . برنامه های سرور سایدی بنویسید!

 

         Titanium

 

SDKsO

طرفداران زیادی(حداقل تو ایران) ندارد به این خاطر که تیم مامعمولا گروهی روی یک پروژه کار میکنند سمت این محصول نرفتیم!وترجیح دادیم از انواع دیگر کامپایلر ها که در بین سایر برنامه نویسان موردتوجه است استفاده کنیم!فقط محظ آشنایی ان را معرفی کردیم!

 

 

 

مرحله آخر:شبیه ساز ها(emulator/simulator)

شما پس از اینکه کد خود را درمحیط IDE  یا ویرایشگر کد کامل ساختید نوبت به خروجی گرفتن و تهیه فایل نهایی از برنامه تان میرسد.

پسوند فایل های iOS  : .ipa

پسوند فایل های اندروید : .apk

پسوند فایل های ویندوز فون : .xap  , .appx

در نهایت بر روی شبیه ساز مربوط به هرکدام که در آموزش های اختصاصی به آنها اشاره خواهیم کرد اجراکنید!

 

سخن آخر:

در آخر باید اشاره کنم که خیلی وقت خود را صرف یاد گیری همه این ها نکنید!یک برنامه را باتوجه به دانش قبلی خود و نیازتان انتخاب کنید و آن را دنبال کنید!در هنگام انتخاب این مطلب را مدنظر قرار دهیدکه آموزش و فروم های مناسب و کافی در ان زمینه وجود داشته باشد!

    پاسخگو
    محمدصادق در شنبه ۱۹ مهر ۱۳۹۳ :

    سلام . ببخشید من چه جوری می تونم در اندروید روی برنامم تم را قرار دهم ؟ برای مثال من از اون قسمت بالا تم Light رو انتخاب می کنم ولی وقتی روی گوشیم اجراش می کنم اصلا هیچ چیزی اعمال نشده . کمکم کنید با تشکر

      پاسخگو
      امیرحسین گل محمدی در شنبه ۱۹ مهر ۱۳۹۳ :

      سلام !
      محمد جان اون قسمت در eclipse فقط برای نمایش ظاهری (و مجازی) برنامه نوشته شده است ، به عنوان مثال علاوه بر اینکه تم light دارد شما می توانید برنامه خودتان را در حالت و Mode های متفاوت تست کنید ، اون نوار بالا بیشتر برای تست برنامه نوشته شده هستش ، اما برای اینکه برای برنامه نوشته شده تم در نظر بگیرید باید آن را در محید xml یا GUI در Layout اصلی کد نویسی کنید و یا از کد های آماده استفاده کنید .

    پاسخگو
    محمد در جمعه ۲۲ اسفند ۱۳۹۳ :

    سلام برای خروجی گرفتن ازبرنامه هایی که برای آندرویدبصورت phonegap نوشته شده اند چه برنامه ای پیشنهاد میکنید البته غیرازدریم ویور که براحتی بشه خروجی apk گرفت ممنون

    پاسخگو
    حسام خامسی در پنج شنبه ۲۸ آبان ۱۳۹۴ :

    سلام، ما یک استارت آپ داریم راه اندازی میکنیم تو حوزه موبایله، برای اینکار هم ایده، هم فضای کار در تهران، هم سرمایه، هم سرور، هم بازار فروش و مشتری و امکانات دیگر داریم ولی تیم فنی کاملی نداریم و به فرد یا افرادی نیاز داریم که بتونن و علاقه داشته باشن به تیم ما ملحق بشن،
    شرایط کار به این صورته که در ابتدا هم حقوق پرداخت میشه و هم سود از فروش (تقسیم سهام رسمی شرکت).
    ممنون میشم اگر کسی رو میشناسین معرفی کنین،
    حسام خامسی
    ۰۹۱۲۳۱۶۱۵۰۶

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

    باسلام
    ممنون از مطالب خوبتون.