اندرودستان

مرکز اموزش اندروید

اندرودستان

مرکز اموزش اندروید

بایگانی

۴ مطلب با کلمه‌ی کلیدی «برنامه نویسی» ثبت شده است

۰۳
ارديبهشت

در حالی که روز به روز به 6 ساله شدن سیستم عامل محبوب شرکت گوگل، یعنی اندروید، نزدیک می شویم تقریبا هر ساله شاهد یک نسخه جدید از سیستم عامل اندروید هستیم که با انتشار هر نسخه، تغییرات و نوآوری هایی در آن شاهد هستیم. این تغییرات شامل محیط برنامه نویسی و برنامه نویسان اندرویدی نیز هست و هر از چندگاهی یکی از این محیط های برنامه نویسی بروز رسانی می شوند.

 

تا کنون از بین محیط های برنامه نویسی معرفی شده اندروید دو محیط Eclipse و Android Studio به موفقیت های بیشتری دست پیدا کرده و بین کاربران از محبوبیت بیشتری برخوردار هستند. اما از بین این دو محیط برنامه نویسی کدامیک بهتر است و امکانات بیشتری در اختیار توسعه دهندگان قرار می دهد؟ در ابتدا به معرفی کامل این دو محیط می پردازیم و از پیشرفتهای آن ها در چند وقت اخیر برایتان می گوییم:

 

Android Studio:
محیط برنامه نویسی Android Studio در شانزدهم ماه می سال 2013 در کنفرانس Google I/O معرفی شد و نسخه پیش نمایش آن از ماه جوئن همان سال در دسترس توسعه دهندگان قرار گرفت. محیط برنامه نویسی Android Studio بر پایه IntelliJ IDEA برنامه نویسی شده است که اجرای سریعتر با مصرف منابع کمتر نسبت به محیط Eclipse ADT دارد و امکانات به مراتب بیشتری نسبت به محیط Eclipse ADT ارائه می دهد و زمانی که بطور کامل آماده شود به عنوان محیط برنامه نویسی اصلی اندروید معرفی خواهد شد. این به این معنی هست که اگر تا بحال برای برنامه نویسی اپلیکیشن های اندروید از Eclipse استفاده می کردید، بهتر است هرچه سریعتر با محیط این نرم افزار آشنا شوید چون این احتمال وجود دارد که پس از آنکه محیط برنامه نویسی Android Studio بصورت کامل معرفی شود آپدیت های جدید برای محیط Eclipse معرفی نشود! امکاناتی که این محیط توسعه در اختیار شما قرار می دهد:

- سیستم انعطاف پذیر بر پایه Gradle
- ساخت انواع گونه های متفاوت نسل های APK
- پشتیبانی از الگوهای گسترده برای خدمات گوگل و انواع مختلف دستگاه
- ویرایشگر غنی Layout ها همراه با پشتیبانی از ویرایش قالب ها
- ابزارهایی برای گرفتن عملکرد، قابلیت استفاده، نسخه های سازگار و مشکلات دیگر
- و …

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

 

Eclipse ADT: 
یک محیط برنامه نویسی متن باز بر اساس زبان برنامه نویسی Java است که Google با ارائه افزونه ای بنام ADT این محیط را برای برنامه نویسی اندروید آماده می سازد. همچنین برای ساده تر کردن کارهای نصب پلاگین و … گوگل اقدام به تهیه Eclipse ADT Bundle کرده است. در ادامه نیز به بررسی ویژگی های مشترک بین این دو محیط توسعه می پردازیم اما قبل از آنکه به نصیحت کردن بپردازیم ابتدا باید نکات مختلفی را مد نظر قرار داد. از جمله:

- شما در یک استدیو کوچک (با حداکثر یک یا دو توسعه دهنده) یا در یک شرکت بزرگ تشکیل شده از ده ها یا حتی صدها توسعه دهنده کار می کنید؟
- آیا پروژه شما یک پروژه جدید است؟
- اگر پروژه شما پروژه جدیدی نیست، آیا هم اکنون شما از Eclipse استفاده می کنید و به این فکر می کنید که به Android Studio مهاجرت کنید؟

طراحی رابط گرافیکی با قابلیت Drag and Drop:
ظاهرا یکی از ویژگی های جذاب Android Studio طراحی Layout آن با رابط Drag and Drop هست. اما واقعیت این است که مقدار زمانی که صرف طراحی با Drag and Drop برای شما زیاد خواهد بود مگر اینکه شما یک هواخواه محیط های دیداری باشید کسی که سالها به طراحی یک طرح 3D پیچیده با دکمه های مخروطی پرداخته باشید و به سادگی نتوانید عادت هایتان را از بین ببرید! قطعا شما یک رابط خوب و کار آمد نیاز دارید اما اگر شما واقعا می خواهید یک اپلیکیشن کارآمد طراحی کنید اکثر زمان شما به پرداختن روی کدهایتان صرف خواهد شد! نه به کلنجار رفتن با محیط دیداری!

نتیجه مقایسه: برابر قابلیت تکمیل کد (Code Completion): بیشتر زمان یک برنامه نویس به کلنجار رفتن با کدهای پروژه خود می گذرد، پس باید قدر دان وجود این قابلیت باشید. شخصا، مهمترین بخش برای من زمانی بود که IDE اعضای یک شیئ را برای من بیان می کرد. در کل، من فهمیدم این قابلیت خیلی در Android Studio در مقایسه با Eclipse کاملتر و بهتر است، در حالی که در Eclipse در اکثر اوقات کمی گیج کننده بود و همیشه نتایج دقیقی نمی دهد!

نتیجه مقایسه: Android Studio (با اقتدار!) یکپارچگی Gradle: Android Studio از مجموعه ابزارهای Gradle استفاده می کند؛ در واقع، آن واقعا یکپارچه است، و امکان ندارد از ابزار دیگری استفاده کند! به عبارت دیگر، شما گیر افتاده اید: اگر شما درحال تغییر از Eclipse به Android Studio هستید و از Gradle در Eclipse استفاده نکردید (که از طریق یک افزونه پشتیبانی برای آن ارائه می دهد)، شما در حال انجام یک تغییر بزرگ هستید. این نشان می دهد Gradle یک ابزار فوق العاده هست و اگر تصمیم گرفته اید از Eclipse استفاده کنید، با این حال پیشنهاد می کنم حتما به قابلیت های Gradle نگاهی بیاندازید و آن را امتحان کنید تا ببنید با پروژه شما هماهنگ هست، و اگر قصد مهاجرت به Android Studio را دارید از این نا امید نشوید که در Eclipse گیر کنید!

نتیجه مقایسه: Android Studio پلتفرم ابری گوگل: Android Studio دارای یک پشتیبانی محلی از پلتفرم ابری گوگل هست که به شما این امکان را می دهد تا با استفاده Google App Engine از کدهای سمت سرور استفاده کنید همراه با کارهای دیگر (مانند پشتیبانی از داده های کاربران خود). این یک قابلیت زیبا هست که شما احتمالا نمی خواهید اپلیکیشن شما از آن جدا باشد. (شما می توانید با دیگر فضا های ابری نیز یکپارچه شوید اما Android Studio آن را راحت تر کرده است). گوگل به شما این امکان را می دهد تا در کنسول فضای ابری آن پروژه هایتان را بسازید، که این امکان تنها برای اپلیکیشن های اندرویدی نیست! شما می توانید از آن برای ساخت اپلیکیشن های تحت وب استفاده کنید که در تعامل با نقشه های گوگل باشند. به عنوان مثال، نرم افزار روی سرور های ما که با Google Docs یکپارچه شده است. همچنین Android Studio این امکان را می دهد تا اپلیکیشنهای خود را یکپارچه کنید، تست کنید و کدهای سمت سرور خود را بصورت محلی اجرا کنید و بر روی یکی از سرورهای گوگل استقرار پیدا کنید؛ به زبان دیگر هر چیزی که نیاز دارید (حداقل برای شروع) آنجاست! اما همه این قابلیت ها برای Eclipse، با افزونه Google بر Eclipse وجود دارد. بله، شما می توانید یک اپلیکیشن سمت سرور با Eclipse بسازید و آن رو روی یکی از سرورهای گوگل استقرار دهید. ابزارهای اضافی به شما این امکان را می دهد تا با سرور یکپارچه شوید مانند پایگاه داده ها ابری.

نتیجه مقایسه: برابر رابط کاربری: Eclipse بزرگ است و احتمالا یک مقدار دست و پا گیر! من از آن از وقتی استفاده می کنم که از یک دهه پیش محبوب شد، بنابرین من از تمامی راه ها خصلتهای آن در رابط کاربری با خبر هستم. من به یاد می آورم در ابتدا ضعف داشت، اما بگذارید آن را توضیح بدهم: همه محیط ها در ابتدای زمانی که از آن استفاده می کنید دچار ضعف هستند. با در نظر گرفتن آن، من گزینه های منو و ابزار ها را در Android Studio به من آن چیزهایی را نشان می دادند که واقعا نیاز داشتم سریعتر و راحت تر در مقایسه با همتایان خود در Eclipse ، حتی با وجود افزونه اندروید. آن می خواهد یاد آوری کند که یک جنبه دیگر در رابط کاربری نیز وجود دارد: Android Studio مخصوص طراحی برای اندروید طراحی شده است، در حالی که Eclipse ساخته شده تا یک محیط کاربری برای اهداف مختلف باشد با هر پلتفرم و هر زبانی (اگر چه جاوا به وضوح هدف اصلی بوده است).

نتیجه مقایسه: Android Studio محیطهای کاری و پروژه ها: یک چیزی که همیشه متوجه آن شدم رابطه غیر طبیعی Eclipse برای برقراری رابطه با فضای کاری است. زمانی که میخواهید روی چند پروژه بصورت همزمان کار کنید، شما آنها را در یک محیط با هم ترکیب می کنید. برای آنکه به یک فضای کار دیگر وارد شوید باید یک مسیر دیگر را انتخاب کنید و آنوقت Eclipse دوباره راه اندازی می شود که بنظر من همیشه دشوار به نظر می رسد. وقتی بخواهید پروژه ها را بین فضا های کار جابجا کنید همه چیز به سرعت به یک افتضاح تبدیل می شود. یک راه مناسب برای آن وجود دارد، اما این خیلی آسان هست که آنها را به هم متصل کنید. من علاقه زیادی به Microsoft Visual Studio ندارم اما بیشتر از هر محیط توسعه دیگری با آن کار کردم (به دلیل اینکه پرداخت مشتریان نیازمند کار در آن هست)، و من می گویم مدیریت پروژه ها و فضا های کاری (که solutions نامیده می شوند) در Visual Studio به نظر من خیلی ساده تر از آنها در Eclipse هست. در مورد Android Studio نیز موضوع بالا در مورد Visual Studio و Eclipse تکرار می شود. با Android Studio همه چیز در یک پروژه محصور می شود (برای همین احساس یک پروژه در Android Studio خیلی جالب تر از Workspace در Eclipse هست). در پروژه خود شما ماژولها (modules) را دارید، مجموعه اصلی خود از کدها، از جمله اپلیکیشنتان که در حال ساختش هستید یکی از ماژولهای شماست. اگر یک کتابخانه (library) برای اپلیکیشن خود داشته باشید آن نیز یک ماژول دیگر است. اما چیزهای دیگر نیز بعنوان یک ماژول واجد شرایط هستند، مانند اسکریپتهای ساخت. این برای من حس بهتری را به من می دهد و بسیار طبیعی تر به نظر می رسد. این مفهوم از IntelliJ IDEA به Android Studio به ارث رسیده است.

نتیجه مقایسه: Android Studio فرجام: با همه این وجود Android Studio هنوز هم در حالت بتا قرار دارد و از طرفی Eclipse نیز یک محیط توسعه کهنه است. اما تا الان تقریبا تمام مشکلات Android Studio برطرف شده اما برخی قابلیتها را ندارد! از طرفی احتمال اینکه پس از انتشار نسخه پایدار Android Studio دیگر از Eclipse پشتیبانی نشود خیلی زیاد است. در نهایت آیا نیاز هست تا از Eclipse به Android Studio مهاجرت کرد؟ جواب من این است: امتحانش کنید! از آن استفاده کنید، ببنید چه نظری در مورد آن دارید و آن زمان در موردش تصمیم بگیرید؛ مطمئن هستم که از آن خوشتان می آید. اگر هم اکنون از Eclipse استفاده می کنید، Android Studio را امتحان کنید، و اگر آن را دوست دارید، تصمیم بگیرید که چگونه به راحتی می توانید موقعیت خود را به سمت آن تغییر دهید.

  • مینا اسکندری
۰۳
ارديبهشت

کاتلین (Kotlin) چیست؟

کاتلین، یک زبان برنامه نویسی ایستا (Statically typed) برای ماشین مجازی جاوا (JVM)، اندروید و مرورگر (Browser) است که از چندی پیش رسما از طرف گوگل برای برنامه نویسی اندروید معرفی شد. البته ساخت این زبان حدود سال ۲۰۱۱ شروع شد و اوایل دی/بهمن ماه سال 95 نسخه اول آن از طرف JetBrains معرفی شد که با استقبال بی نظیر برنامه نویسان اندروید مواجه شد. اگر اخبار و رویدادهای چند روز گذشته مربوط به گوگل I/O را دنبال کرده باشید حتما متوجه شدید که گوگل زبان برنامه نوسی کاتلین برای اندروید را بصورت رسمی پشتیبانی کرده است. بنابراین خبر خوب برای کسانی که تازه میخواهند برنامه نویسی اندروید را شروع کنند و با جاوا آشنایی ندارند این است که بجای جاوا میتوانند برنامه نویسی کاتلین را یادبگیرند.

گوگل در جریان برگزاری کنفرانس I/O خود در سال جاری اعلام کرد که در کنار زبان‌های برنامه‌نوسی جاوا و سی پلاس پلاس از کاتلین نیز در برنامه‌نویسی اندروید پشتیبانی خواهد کرد. کوتلین آماده است تا قدرت اندروید را یکبار دیگر احیا کرده و همچنین روند توسعه برنامه‌های اندروید را شتاب بخشد. Relam یک پلتفرم توسعه موبایل در جدیدترین گزارش خود تحلیل بسیار جالبی در ارتباط با روند فعلی توسعه برنامه‌های موبایلی ارائه کرده است.

 

گوگل رسما زبان برنامه‌نویسی Kotlin را به مجموعه زبان‌های توسعه‌ی اندروید اضافه کرد. مراسم توسعه‌دهندگان گوگل به پایان رسید و این کمپانی اعلام کرد رسما از زبان برنامه‌ نویسی کاتلین برای توسعه‌ی اندروید پشتیبانی خواهد کرد. کاتلین نام یک زبان برنامه نویسی بسیار جدید است که توسط جت برینز تولید شده است. این زبان برنامه‌نویسی در کنار Jet Brains IDE قرار می‌گیرد که اندروید استودیو به عنوان ابزار رسمی توسعه‌دهندگان گوگل نیز بر اساس آن کار می‌کند.

کاتلین نیز مانند جاوا که به عنوان زبان پیش‌فرض توسعه‌ی اندروید شناخته می‌شود، زبانی است که روی ماشین مجازی جاوا یا JVM کار می‌کند و اکنون می‌توان برای توسعه‌ی اندروید، از کاتلین و دیگر زبان‌های مبتنی بر JVM بهره گرفت. پشتیبانی رسمی گوگل می‌تواند کمک زیادی به این زبان کند و باعث شود کار با کاتلین روی اندروید فراگیرتر شود. ابزارهای کاتلین به‌طور پیش‌فرض در Android Studio 3.0 قرار خواهد گرفت و جت برینز و گوگل به‌طور مشترک این زبان را پشتیبانی خواهند کرد.

 

کاتلین به عنوان یک زبان برنامه‌نویسی، شباهت‌های زیادی به ساختار جاوا دارد و کامل شی‌ءگرا است و برای موضوعاتی مشابه مسائل جاوا طراحی شده است. اما از آنجایی که در بسیاری از روش‌ها ظاهری ساده دارد، می‌توان از قابلیت‌های بسیار زیاد آن بهره گرفت و از پیشرفت‌های بیشتر آن نسبت به جاوا لذت برد. برخلاف زبان برنامه‌نویسی سوئیفت که به عنوان پروژه‌ی داخلی اپل شناخته می‌شود، جت برینز به پشتیبانی از کاتلین ادامه خواهد داد. قرار است این زبان برنامه‌نویسی برای پلتفرم‌های دیگر مانند آی‌اواس و مک نیز در دسترس باشد و برای توسعه‌ی وب، امکان تبدیل کدها به جاوا اسکریپت نیز فراهم شده است.

 

چرا کاتلین در برنامه‌نویسی اندروید از جاوا پیشی گرفته است

اگر به دنیای برنامه‌نویسی موبایل وارد شوید زبان‌های برنامه‌ نویسی بزرگی همچون جاوا، سوئیفت، آبجکتیو سی، سی شارپ، جاوااسکریپت و کوتلین را مشاهده می‌کنید که در زمینه توسعه برنامه‌های موبایل به کار گرفته می‌شوند. همان‌گونه که در گراف زیر مشاهده می‌کنید، سوئیفت باعث شده است تا شتاب توسعه برنامه‌های iOS بیشتر شده و عملا زبان آبجکتیو سی به حاشیه رانده شود.

 

درست پس از پایان یافتن کنفرانس I/O گوگل نمودار رشد زبان کاتلین شتاب عجیبی به خود گرفت و ناگهان بر تعداد توسعه‌دهندگانی که کاتلین را برای برنامه‌نویسی اندروید انتخاب کردند افزوده شد. به دلیل این‌که هیچ‌ توسعه‌دهنده‌ای علاقه ندارد عقب‌تر از همتایان خود حرکت کند. از منظر جغرافیایی اغلب برنامه‌نویسان اندروید ساکن آسیا هستند، اما آمارها نشان می‌دهد که توسعه‌دهندگان امریکایی نیز تا چند وقت دیگر به شکل گسترده‌ای از کوتلین استفاده خواهند کرد.

 

2018 سال زبان کاتلین خواهد بود

بنابر آمارهای منتشر شده 20 درصد از برنامه‌هایی که تا پیش از کنفرانس I/O به زبان جاوا نوشته شده بودند اکنون در حال تبدیل شدن به کاتلین هستند. به عبارت دقیق‌تر در کمتر از 4 تا 5 ماه کوتلین شتاب خیره‌کننده‌ای پیدا کرده و توسعه‌دهندگان جاوا را جذب خود کرده است. در گزارش Relam آماده است: «‌کاتلین این پتانسیل را دارد تا نحوه و میزان استفاده از جاوا در سمت سرورها را نیز با تغییرات جدی روبرو کند. پیش‌بینی می‌شود کاتلین در دسامبر 2018 جاوا را پشت بگذارد. به عبارت دقیق‌تر 17 ماه دیگر تعداد برنامه‌نویسان کوتلین از جاوا بیشتر خواهند بود.»

 

دلیل انتخاب Kotlin

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

  • مینا اسکندری
۰۳
ارديبهشت

برنامه نویسی، کاری دوست داشتنی و البته درآمدزا که بسیاری حتی از به سمت آن رفتن نیز می‌هراسند. بدون شک برنامه نویسی اصلی‌ترین بخش فناوری است و در تمام بخش‌های آن مهندسین نیاز به دانش برنامه نویسی دارند تا بتوانند مراحل متختلف را پشت سر بگذارند.

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

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

باید قبول کنیم که برنامه نویسی یک دانش سخت و شاید گاهی اعصاب خرد کن است و دلیل بسیاری از دوستداران این شغل برای عدم ورود به این حوزه نیز به همین موضوع باز می‌گردد، اما در کنار این سختی‌ها و… شاید یکی از بهترین لحظات برنامه نویسان نیز در پشت کد‌ها می‌گذرد. زیرا بسیاری از آن‌ها بر این باور هستند که برنامه نویسی یک شغل لذت بخش است و زمانی که بتوانید بعد از چند روز کار یک مشکل (باگ) برنامه خود را برطرف سازید بهترین لحظه عمرتان را سپری خواهید کرد.

 

نکته دیگر در خصوص برنامه نویسی به دورکاری بودن آن باز می‌گردد. زمانی که شما استخدام شرکتی می‌شوید، اصولا می‌بایست در آن محل حضور یابید اما زمانی که تصمیم می‌گیرید یک برنامه را خودتان بسازید و در فروشگاه‌های اندرویدی منتشر کنید، در این حین است که دیگر نیازی به خروج از خانه خود ندارید. بله! شما می‌توانید در گوشه یکی از اتاق‌های خانه خود کار کنید و آخر ماه نیز درآمد خوبی را به جیب بزنید. یکی دیگر از ویژگی‌های برنامه نویسی برای اسمارت فون‌ها و البته سایر بخش‌های برنامه نویسی نیز این است که شما می‌توانید از طریق سایت‌های مختلف پروژه‌هایی را بگیرید و با کار کردن و تحویل دادن آن درآمد کسب کنید.

اندروید، ویندوزفون یا iOS؟

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

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

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

از کجا شروع کنیم؟

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

تلاش، تلاش، تلاش

با ورود به دنیای اندروید خواهید دید که در بد مخمصه‌ای گیر کرده‌اید! بدون شک برنامه نویسی این سیستم عامل نیز سختی‌های خاص خود را دارد اما با کمی تلاش و پشت کار و البته روحیه خستگی ناپذیر می‌توانید مراحل اولیه برنامه نویسی اندروید را پشت سر بگذارید و حتی یک برنامه واقعی نیز بسازید و در فروشگاه‌های اندروید منتشر کنید. نکته‌ای که بهتر است در این خصوص به یاد داشته باشید، این است که نباید بعد از آموزش مختصر برنامه نویسی اندروید، برای مدتی آن را بی‌خیال شوید، زیرا کد نویسی کار سختی است و خیلی سریع فراموش می‌شود.

  • مینا اسکندری
۰۳
ارديبهشت

اندروید یک سیستم عامل متن باز و مبتنی بر لینوکس برای دستگاه های موبایل مانند گوشی های هوشمند و کامپیوترهای تبلت است. اندروید به وسیله­ ی Open Handset Alliance توسعه پیدا کرد و به وسیله­ی گوگل و سایر شرکت ها هدایت شد.

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

اولین نسخه بتای (آزمایشی) جعبه ابزار توسعه ­ی نرم افزار (SDK) اندروید در سال

2007 توسط گوگل ارائه شد در حالیکه اولین نسخه تجاری یعنی اندروید 1.0 در سپتامبر 2008 منتشر شد.

در 27 ژوئن 2012 در کنفرانس I/O گوگل، گوگل اعلام کرد که نسخه بعدی اندروید، 4.1 Jelly Bean است. Jelly Bean یک بروز رسانی افزایشی است. که هدف اصلی آن بهبود واسط کاربری از هر دو جهت عملکرد و کارایی است.

کد منبع، اندروید تحت مجوزهای نرم افزارهای رایگان و متن باز، در دسترس است. گوگل بیشتر کد را تحت نسخه 2 مجوز Apache منتشر کرده است و باقیمانده ی کد را که مربوط به تغییرات هسته­ ی لینوکس است، تحت نسخه 2 مجوز GNU General Public منتشر کرده است.

ویژگی های اندروید

اندروید یک سیستم عامل قدرتمند در رقابت با Apple 4GS است و از امکانات و ویژگی های زیادی پشتیبانی می کند، تعدادی از آنها در ادامه لیست شده اند.

ویژگی
توصیف
واسط کاربری زیبا
صفحه اصلی سیستم عامل اندروید واسط کاربری زیبا و جذابی را ارائه می کند.
قابلیت اتصال
GSM/EDGE،IDEN ،CDMA ،EV-DO ،UMTS ،Bluetooth ، Wi-Fi،LTE ، NFC و WiMAX
ذخیره سازی
SQLite، یک پایگاه داده­ی رابطه ای سبک، که برای اهداف ذخیره­ی داده به کار می رود.
پشتیبانی از رسانه
H.263، H.264، MPEG-4 SP، AMR، AMR-WB، AAC، HE-AAC، AAC 5.1، MP3، MIDI، Ogg Vorbis، WAV، JPEG، PNG، GIF و BMP
ارسال پیام
SMS و MMS
مرورگر وب
مبتنی بر موتور صفحه بندی متن باز WebKit ، همراه با موتور جاوا اسکریپت کروم نسخه 8 با پشتیبانی از HTML5 و CSS3 است..
قابلیت چند لمسی
اندروید دارای قابلیت چند لمسی است که ابتدا در گوشی هایی مانند HTC Hero ارائه شد.
قابلیت چند وظیفه ای
کابران می توانند از برنامه ای به برنامه­ی دیگر بروند و برنامه های مختلف می توانند به صورت همزمان اجرا شوند.
ویجت­های (Widgets) قابل اندازه بندی مجدد
ویجت ها قابل اندازه بندی مجدد هستند، بنابراین کاربران می توانند برای نشان دادن محتوای بیشتر آنها را گسترش دهند و یا برای صرفه جویی در فضا آنها را کوچک کنند.
قابلیت چند زبانی
از متن یک طرفه و دو طرفه پشتیبانی می کند.
GCM
ارسال پیام در ابر گوگل (GSM) سرویسی است که به برنامه نویسان اجازه می دهد، که بدون نیاز به یک راهکار همگامی اختصاصی، داده های پیام کوتاه را به کاربران خود در دستگاه های اندروید بفرستند.
Wi-Fi مستقیم
تکنولوژی ای که به اپلیکیشن ها اجازه میدهد که از طریق یک اتصال نظیر به نظیر با پهنای باند بالا، به صورت مستقیم همدیگر را کشف (پیدا) کنند و با هم جفت شوند.
Android Beam
یک تکنولوژی رایج مبتنی بر NFC که به کاربران اجازه می دهد که قثط با تماس دو گوشی دارای NFC با همدیگر، فورا اطلاعات خود را به اشتراک بگذارند.

برنامه های (اپلیکیشن های) اندروید

برنامه های اندروید معمولا در زبان جاوا و با استفاده از جعبه ابزار توسعه نرم افزار اندروید توسعه می یابند. بعد از توسعه می توانند به سادگی صورت پکیج درآمده و از طریق Google Play یا Amazon Appstore به فروش برسند.

اندروید بر روی صدها میلیون دستگاه موبایل در بیش از 190 کشور در سراسر دنیا استفاده شده است. و بیشترین سیستم عامل نصب شده بر روی پلت فرم های موبایل موجود است که کاربرد آن نیز به سرعت در حال رشد است. هر روز بیش از 1 میلیون دستگاه اندروید جدید در سراسر جهان فعال می شود.

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

  • مینا اسکندری