شما اینجا هستید

خانه

برنامه نویسی را از کجا شروع کنیم؟ (قسمت سوم: موبایل)

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

در نوشته های قبلی راجع به برنامه نویسی وب و برنامه نویسی دسکتاپ توضیح دادم. در ادامه این موضوع که برنامه نویسی را ازکجا شروع کنیم و این که انواع برنامه نویسی چیست، در این نوشته به صورت اجمالی در مورد کدنویسی موبایل توضیح میدهم.
 
امروزه موبایل ها عموما دارای یکی از این سه نوع سیستم عامل هستند: اندروید (Android)، آی اُ اس (IOS) ، یا ویندوز(Windows RT)
در نتیجه سه نوع برنامه نویسی برای این سه سیستم عامل امروزه شایع است. خصوصا در سال های اخیر بازارهای خوبی در نرم افزارهای موبایلی شکل گرفته است. برخلاف نرم افزار های دسکتاپ که در ایران تقریبا توسعه آن خیلی کم است، بازار نرم افزارهای موبایل و خصوصا وب خیلی زیاد است. دلیل آن هم مشخص است، به دلیل عدم وجود قانون کپی رایت در ایران و استفاده از نرم افزار های کرک شده کسب و کاری برای تولید نرم افزار دسکتاپ باقی نمی ماند، چون بازار رقابتی وجود ندارد. در واقع بهترین نرم افزارهای خارجی به صورت رایگان از سایت های دانلود قابل استفاده است. تصور کنید یک تیم حرفه ای یک سال هزینه کنند و نرم افزاری را تولید کنند، سپس معادل حرفه ای تر آن در اینترنت رایگان قابل دانلود باشد، چه کسی حاضر است نرم افزار شما را بخرد؟
به دلیل وجود همین مشکلات تولید نرم افزار دسکتاپ در ایران فقط به پروژه های سفارشی خاص و عموما دولتی که در ارگانهای خاص کاربرد دارند، خلاصه میشود. ولی تولید نرم افزار موبایل و تحت وب کاربرد های بسیار زیادی دارند. پس دقت کنید که اگر سراغ برنامه نویسی دسکتاپ می روید، بازار کار بسیار محدودتری در ایران دارید و باید هدفمند جلو بروید.
 

برنامه نویسی اندروید با Java و Android SDK

بهترین زبان برنامه نویسی برای سیستم عامل اندروید زبان جاوا است. در واقع SDK اصلی که شرکت google در اختیار توسعه دهندگان برنامه های موبایل قرار میدهد Android SDK هست که به زبان Java است. SDK یا Software Development Kit مجموعه کتابخانه ها و ابزارهایی ست که توسط آن می توانید یک برنامه اندرویدی تولید کنید. درست مثل ویندوز که دارای SDK خاص خود است یا C#، اندروید هم چارچوب مختص خود را دارد که باید توسط کامپایلرهای مخصوص خود تولید شود. همه این برنامه های لازم به صورت رایگان توسط گوگل ارایه و به ازای هر نسخه اندروید بروز می شود. سایت های دانلود ایرانی هم همه این SDK و ابزار ها را برای دانلود قرار داده اند. بهترین محیط برای برنامه نویسی اندروید با Java برنامه Android Studio است. با حجمی تقریب به ۱ گیگ همه sdk و ابزارهای لازم را داراست.
غیر از این برنامه، Eclipse هم خیلی معروف است که به صورت رایگان میباشد. (دانلود از سایت اصلی از این لینک)
غیر از برنامه نویسی جاوا، خود گوگل NDK یا Native Development Kit هم دارد، که با استفاده از ++C می توان برنامه اندروید تولید کرد. منتها توجه کنید که این کتابخانه ها اصلا به عنوان جایگزین برای SDK نیستند. و صرف اینکه جاوا بلد نباشیم و سی پلاس پلاس بلد هستیم به سراغ آن برویم. بلکه هدف آن تولید برنامه هایی هستند که نیاز به مدیریت حافظه خاص دارند یا performance (عملکرد) بسیار بالایی نیاز دارند یا موارد دیگر.
برای توسعه برنامه های اندرویدی میتوان از زبان های دیگری مثل python و #C  و ... هم استفاده کرد. اما سایر زبان ها توسط گوگل پشتیبانی نمی شوند بلکه شرکت های دیگری برای تسهیل کاربرنامه نویسان آن ها ایجاد کرده اند که در ادامه به چند مورد از آن ها اشاره خواهم کرد.
 

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

Xamarin یا به فارسی زامارین یک محیط برنامه نویسی محبوب برای توسعه برنامه های موبایلی است. که به شدت طرفداران زیادی را به خود جذب کرده است. با استفاده از #C می توانید در محیط بسیار قدرتمند Visual Studio برنامه نویسی کنید و با یک تیر ۳ نشان بزنید. یعنی با یک برنامه نوشته شده میتوان ۳ خروجی اندروید، IOS و Windows تولید کرد.
با توجه به این که زبان #C خیلی زبان محبوبی است و این که هم زمان هر سه پلتفرم پشتیبانی می شود، این امر باعث محبوبیت این چارچوب شده است. البته این برنامه رایگان نیست ولی نسخه کرک شده آن در سایت های دانلود فارسی قابل دریافت است.
 
 

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

برنامه های هیبریدی ( Hybrid mobile app) یا به فارسی معادل برنامه ترکیبی به برنامه هایی گفته می شود که با استفاده از HTML5 و CSS و Javascript کار می کنند. یعنی شما به جای یادگیری زبان های برنامه نویسی پیچیده می توانید به سادگی با استفاده از این سه مورد برنامه های کاربردی با ظاهری مشابه برنامه های اصیل اندروید یا IOS بسازید. در واقع برنامه ای که شما ایجاد میکنید frontend یک وب سایت است که ظاهر آن کاملا شبیه سایر برنامه های اندرویدی است. از آنجایی که این نوع برنامه ها از کتابخانه هایی استفاده می کنند که رابط هایی را برای دسترسی به امکانات سیستم عامل مثل پیام رسانی، GPS و سایر بخش های سیستم فراهم می کند، به همین دلیل به آن ها هیبریدی می گویند. این نوع برنامه ها مزیت ها و کاربردهای زیادی دارند از جمله اینکه به سادگی طراحی یک وب سایت هستند و اینکه روی همه سیستم ها (اندروید،‌ IOS و ویندوز) با یک بار برنامه نویسی اجرا می شوند در واقع Multi Platform هستند. یک نمونه مشهور از این کتابخانه ها Ionic است. برای برنامه هایی که آنلاین کار میکنند مثلا فروشگاه اینترنتی، این نوع برنامه ها بهترین گزینه است. چون محتوی آن ها مدام در حال تغییر است. در نتیجه با استفاده از یک برنامه هیبریدی به راحتی می توانند همه کلاینت ها بروز کنند. اگر به سایت Ionic مراجعه کنید در بخش نمونه کارها (Showcase) برنامه های زیادی را مشاهده می کنید که توسط این کتابخانه ایجاد شده اند.

 

 

 

برنامه نویسی موبایل با QPython یا C++

به دلیل محبوبیت سیستم عامل اندروید در دنیا پتلفرم های مختلفی برای توسعه نرم افزار با زبان های مختلف ایجاد شده اند. مثلا QPython کتابخانه ای برای توسعه برنامه های موبایلی با استفاده از زبان python است. همچنین این قابلیت را روی اندروید ایجاد می کند که اسکریپت های python روی آن اجرا شود.
QT یکی از کتابخانه های محبوب  ++C است که ان شاء الله در یک پست جداگانه در مورد آن توضیح خواهم داد. Qt Creator برای اندروید هم یک محیط برنامه نویسی و چارچوب های لازم را به صورت رایگان در اختیار قرار می دهد. محیط برنامه نویسی ساده و جذابی دارد و برنامه های نمونه آماده. البته این گزینه برای افرادی خوب است که ++C بلد هستند و وقت یادگیری زبان دیگری مثل #C  یا Java را ندارند. برنامه نویسی با آن نسبت به Android Studio یا Xamarin دشوار تر است و در کل برای افراد مبتدی خیلی توصیه نمی شود.
 
 

 

 
 
 
 
 
 
 
 
 
 
 
 
 
 

افزودن نظر جدید

درباره من

سلام. به وب سایت شخصی من خوش آمدید.

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

 

Mohammad Zatkhahi Image

 

.

?>