hosaini 2000
26th May 2012, 17:20
با ظهور گوشی های هوشمند با قابلیت دسترسی به اینترنت نسل سوم، جهش بزرگی در برنامه نویسی این نوع دستگاه ها به وجود آمد و بسیاری از برنامه نویسان وارد عرصه رقابت در این بازار جدید شدند. رونق بازار گوشی هایی مثل آیفون و گوشی های آندرویدی باعث رشد بسیار سریع برنامه های این گوشی ها شده هر روز شاهد انتشار اخبار رکورد شکنی دانلود این نرم افزار ها هستنیم.
برنامه نویسی برای آندروید و دشواری ها و آسانی های این کار همیشه از ابتدای عرضه این سیستم عامل مورد توجه بوده است. در اینجا نگاهی داریم در حد حوصله انجمن به بررسی برنامه نویسی برای گوشی های موبایل به ویژه گوشی های آندرویدی.
اینجا همیشه صفحه نمایش در مقایسه با صفحه نمایش لپتاپ یا کامپیوتر شما کوچک است. با این صفحه کوچک باید زمان زیادی را صرف طراحی و چیدن مناسب کنترل ها و رابط کاربری کنید تا کاربر نهایی زمان کار با برنامه به دردسر نیافتد و احساس خوبی داشته باشد.
کیبرد – اگر اصلاً کیبردی وجود داشته باشد – کوچک است و کار کردن با آن ساده نیست. از طرفی در گوشی هایی که صفحه نمایش خازنی دارند کلیک کردن روی یک پیکسل خاص هم امکان پذیر نیست و خطای کلیک کردن روی یک نقطه نسبتاً زیاد است. از این رو برنامه نویس باید همواره به سمت کم کردن تایپ و لزوم کارهای ظریف روی صفحه نمایش باشد. استفاده از آیکون های کوچک یا ویوهایی به شکل لیست که در سیستم های دسکتاپ رایج است اینجا به هیچ وجه عملی نخواهد بود.
محدودیت دیگر کمتر بودن قدرت پردازنده و رم دستگاه است. با این که اخیراً گوشی هایی با پردازنده های قوی تا 1 گیگاهرتز به بازار آمده اند، برنامه نویسان باید برای توسعه نرم افزار خود گوشی های مختلف با پردازنده های مختلف را مد نظر داشته باشند و این جلوی بسیاری از بلند پروازی ها را می گیرد. شما نمی توانید مثل کامپیوتر خودتان هر کاری که دلتان خواست با دیتابیس های بزرگ انجام بدهید وگر نه باید منتظر وقفه های طولانی و هنگ کردن پی در پی برنامه تان باشید.
شما نمی توانید از زمان برنامه نویسی و فریم ورک هایی که به آنها تسلط داشته اید استفاده کنید. در این مورد همیشه محدودیت هایی وجود دارد و سیستم عامل های موبایل با چند زبان و چند فریم ورک خاص قابل توسعه هستند و احتمالاً مجبور خواهید شد چیزهای جدید زیادی را یاد بگیرید.
در آندروید زبان برنامه نویسی شما جاوا خواهد بود که یکی از زبان های بسیار رایج و پرکاربرد است. برای برنامه نویسی هم بهترین ابزار موجود برای برنامه نویسی آندروید هم Eclipse است.
برنامه هایی که برای آندروید می نویسید می تواند دارای چند بخش اصلی باشد. این طراحی برای جلوگیری از کرش کردن برنامه ها طراحی شده و بخش های اصلی آن عبارتند از:
Activities: اکتیویتی ها در آندروید تقریباً مثل پنجره ها در ویندوز هستند. در واقع اکتیویتی ها می توانند بدون رابط کاربری باشند اما از آنها تقریباً همیشه برای پیاده سازی رابط کاربری و اجزای آن استفاده می شود.
Content providers: این بخش مسئول ارتباط با پایگاه داده است. آندروید توسعه دهندگان نرم افزار را به ایجاد برنامه هایی با دیتای قابل دسترسی توسط سایر برنامه ها تشویق می کند.
Services: سرویس ها بر خلاف اکتیویتی ها و کانتنت پروایدرها برای این طراحی شده اند که مدت زمان طولانی در حافظه مستقر باشند. به همین دلیل می توان از یک سرویس مثلاً برای چک کردن و آپدیت یک فید rss در بازه های زمانی مورد نظر کاربر استفاده کرد.
Intents: اینتنت ها در واقع پیغام های سیستمی هستند. برای اطلاع از این که چه زمانی یک اس ام اس می رسد، چه زمان مموری کارت داخل گوشی قرار داده می شود، چه زمانی یک برنامه مورد نظر شما توسط کاربر اجرا می شود و … شما نه تنها می توانید از این اینتنت ها استفاده کنید، بلکه می توانید در صورت لزوم اینتنت خودتان را بسازید و به برنامه های دیگر اجازه دهید با برنامه شما ارتباط برقرار کنند.
گوشی های آندرویدی مزایایی هم برای برنامه نویسان دارند:
شبکه: گوشی های آندرویدی معمولاً امکانات کاملی برای دسترسی به اینترنت دارند و شما می توانید روی آن حساب کنید. همه چیز از سوکت های جاوا گرفته تا مرورگر داخلی آندروید که بر پایه WebKit است و می توانید آن را درون برنامه خود بکار بگیرید.
مالتی مدیا: گوشی های آندرویدی از نظر مالتی مدیا هم امکانات خوبی دارند و شما می توانید در صورت لزوم با استفاده از چند تابع به مشخصات سخت افزاری که برنامه روی آن در حال اجراست دست پیدا کنید.
جی پی اس: در بسیاری از گوشی های آندرویدی قابلیت استفاده از جی پی اس وجود دارد. شما می توانید به سادگی اطلاعاتی در مورد مکان کنونی کاربر به دست آورده و از آن استفاده کنید. مثلاً با استفاده از این قابلیت در کنار سایر قابلیت های آندروید می توانید برنامه ای بسازید که در صورت به سرقت رفتن گوشی اطلاعات مکانی آن برای صاحب گوشی ارسال شود.
سرویس های تلفن همراه: بیشتر دستگاه های آدرویدی گوشی هستند و شما می توانید از قابلیت هایی مانند ارسال اطلاعات با اس ام اس و یا بر قراری تماس در آنها استفاده کنید.
برنامه نویسی برای آندروید و دشواری ها و آسانی های این کار همیشه از ابتدای عرضه این سیستم عامل مورد توجه بوده است. در اینجا نگاهی داریم در حد حوصله انجمن به بررسی برنامه نویسی برای گوشی های موبایل به ویژه گوشی های آندرویدی.
اینجا همیشه صفحه نمایش در مقایسه با صفحه نمایش لپتاپ یا کامپیوتر شما کوچک است. با این صفحه کوچک باید زمان زیادی را صرف طراحی و چیدن مناسب کنترل ها و رابط کاربری کنید تا کاربر نهایی زمان کار با برنامه به دردسر نیافتد و احساس خوبی داشته باشد.
کیبرد – اگر اصلاً کیبردی وجود داشته باشد – کوچک است و کار کردن با آن ساده نیست. از طرفی در گوشی هایی که صفحه نمایش خازنی دارند کلیک کردن روی یک پیکسل خاص هم امکان پذیر نیست و خطای کلیک کردن روی یک نقطه نسبتاً زیاد است. از این رو برنامه نویس باید همواره به سمت کم کردن تایپ و لزوم کارهای ظریف روی صفحه نمایش باشد. استفاده از آیکون های کوچک یا ویوهایی به شکل لیست که در سیستم های دسکتاپ رایج است اینجا به هیچ وجه عملی نخواهد بود.
محدودیت دیگر کمتر بودن قدرت پردازنده و رم دستگاه است. با این که اخیراً گوشی هایی با پردازنده های قوی تا 1 گیگاهرتز به بازار آمده اند، برنامه نویسان باید برای توسعه نرم افزار خود گوشی های مختلف با پردازنده های مختلف را مد نظر داشته باشند و این جلوی بسیاری از بلند پروازی ها را می گیرد. شما نمی توانید مثل کامپیوتر خودتان هر کاری که دلتان خواست با دیتابیس های بزرگ انجام بدهید وگر نه باید منتظر وقفه های طولانی و هنگ کردن پی در پی برنامه تان باشید.
شما نمی توانید از زمان برنامه نویسی و فریم ورک هایی که به آنها تسلط داشته اید استفاده کنید. در این مورد همیشه محدودیت هایی وجود دارد و سیستم عامل های موبایل با چند زبان و چند فریم ورک خاص قابل توسعه هستند و احتمالاً مجبور خواهید شد چیزهای جدید زیادی را یاد بگیرید.
در آندروید زبان برنامه نویسی شما جاوا خواهد بود که یکی از زبان های بسیار رایج و پرکاربرد است. برای برنامه نویسی هم بهترین ابزار موجود برای برنامه نویسی آندروید هم Eclipse است.
برنامه هایی که برای آندروید می نویسید می تواند دارای چند بخش اصلی باشد. این طراحی برای جلوگیری از کرش کردن برنامه ها طراحی شده و بخش های اصلی آن عبارتند از:
Activities: اکتیویتی ها در آندروید تقریباً مثل پنجره ها در ویندوز هستند. در واقع اکتیویتی ها می توانند بدون رابط کاربری باشند اما از آنها تقریباً همیشه برای پیاده سازی رابط کاربری و اجزای آن استفاده می شود.
Content providers: این بخش مسئول ارتباط با پایگاه داده است. آندروید توسعه دهندگان نرم افزار را به ایجاد برنامه هایی با دیتای قابل دسترسی توسط سایر برنامه ها تشویق می کند.
Services: سرویس ها بر خلاف اکتیویتی ها و کانتنت پروایدرها برای این طراحی شده اند که مدت زمان طولانی در حافظه مستقر باشند. به همین دلیل می توان از یک سرویس مثلاً برای چک کردن و آپدیت یک فید rss در بازه های زمانی مورد نظر کاربر استفاده کرد.
Intents: اینتنت ها در واقع پیغام های سیستمی هستند. برای اطلاع از این که چه زمانی یک اس ام اس می رسد، چه زمان مموری کارت داخل گوشی قرار داده می شود، چه زمانی یک برنامه مورد نظر شما توسط کاربر اجرا می شود و … شما نه تنها می توانید از این اینتنت ها استفاده کنید، بلکه می توانید در صورت لزوم اینتنت خودتان را بسازید و به برنامه های دیگر اجازه دهید با برنامه شما ارتباط برقرار کنند.
گوشی های آندرویدی مزایایی هم برای برنامه نویسان دارند:
شبکه: گوشی های آندرویدی معمولاً امکانات کاملی برای دسترسی به اینترنت دارند و شما می توانید روی آن حساب کنید. همه چیز از سوکت های جاوا گرفته تا مرورگر داخلی آندروید که بر پایه WebKit است و می توانید آن را درون برنامه خود بکار بگیرید.
مالتی مدیا: گوشی های آندرویدی از نظر مالتی مدیا هم امکانات خوبی دارند و شما می توانید در صورت لزوم با استفاده از چند تابع به مشخصات سخت افزاری که برنامه روی آن در حال اجراست دست پیدا کنید.
جی پی اس: در بسیاری از گوشی های آندرویدی قابلیت استفاده از جی پی اس وجود دارد. شما می توانید به سادگی اطلاعاتی در مورد مکان کنونی کاربر به دست آورده و از آن استفاده کنید. مثلاً با استفاده از این قابلیت در کنار سایر قابلیت های آندروید می توانید برنامه ای بسازید که در صورت به سرقت رفتن گوشی اطلاعات مکانی آن برای صاحب گوشی ارسال شود.
سرویس های تلفن همراه: بیشتر دستگاه های آدرویدی گوشی هستند و شما می توانید از قابلیت هایی مانند ارسال اطلاعات با اس ام اس و یا بر قراری تماس در آنها استفاده کنید.