David Briddock یک کدنویسی جدید Android App را با App Inventor 2 معرفی میکند در دسامبر 2010، App Inventor گوگل، یک تلاش خلاقانه و جالب برای باز کردن راه توسعهی برنامههای کاربردی Android را با حذف نیاز به یادگیری یا استفاده از یک زبان کدنویسی سنتی معرفی کرد. در عوض، برنامههای کاربردی با کنار هم قرار دادن بلاکهای متصل به هم و رنگارنگ خلق میشوند.
هر چند این نسخهی اولیه تعدادی نقیصهی آزار دهنده داشت و بنابراین در سال 2011 گوگل این کد و مسئولیت توسعهی آن را به یک تیم Mobile Learning در انستیتو تکنولوژی ماساچوست (MIT) واگذار کرد. به منظور برطرف کردن این نواقص، MIT یک ارتقای عمده برای آن ارائه کرد.
استفاده از App Inventor 2 جدید (یا AI2) ساده است و حتی یک راه حل بسیار قدرتمندتر برای ساخت برنامههای کاربردی مخصوص تبلتها و گوشیهای هوشمند اندرویدی فراهم مینماید. در این مجموعه مقالات ما چگونگی استفاده از AI2 را برای طراحی، کدنویسی، تست و پیادهسازی برنامههای کاربردی اندرویدی بیان میکنیم.
به چه چیزی نیاز دارید
کار خلق و ایجاد برنامههای کاربردی اندرویدی با استفاده از AI2 راحت و آسان است. همهی کاری که باید برای شروع انجام دهید استفاده از یک PC، یک مرورگر وب و یک حساب گوگل است. به شکل ایدهآل، شما در عین حال باید یک گوشی هوشمند یا تبلت اندرویدی داشته باشید اما حتی اینها نیز برای طراحی و کدنویسی برنامههای کاربردی الزامی نیستند. "مرورگر محور" بدین معنا است که هر کامپیوتر یا لپتاپ ویندوزی، لینوکس یا Mac به خوبی جواب میدهد.برای خود مرورگر وب، بهترین گزینه Google Chrome است اما Firefox یا Safari برای Apple نیز به خوبی کار میکند. و اگر یک حساب گوگل ندارید، نگران نباشید. Sign up برای یک حساب جدید فرآیندی ساده و رایگان است (myaccount.google.com). فقط زمانی که موضوع تست برنامهی کاربردیتان در یک اموله کننده یا یک تبلت / گوشی هوشمند اندرویدی به میان میآید به دانلود چیزهایی نیاز دارید (بعداً به این مطلب میپردازیم).
البته شما به یک ایده برای برنامهی کاربردیتان هم احتیاج دارید. و در این مجموعه چیزهای زیادی وجود دارد که شما را به فکر کردن در این وادی هدایت میکند. کار را با ترسیم اینترفیس برنامهی کاربردی و سپس تعیین رفتار مورد نظر آن آغاز کنید. این کار شناسایی اجزای AI2 مورد نیاز برای جان بخشیدن به برنامهی کاربردی را تسهیل میکند.
شروع کار
برای آغاز با استفاده از مرورگر خود به ai2.appinventor.mit.edu بروید و سپس با حساب گوگل خود sign in نمائید. وقتی این کار را انجام دادید صفحهی وب اصلی AI2 ظاهر میشود.در نگاه اول، این شبیه یک اینترفیس شلوغ و پر از عملکردها به نظر میآید اما نگران نباشید، یادگیری آن بسیار سرراست است. کلید دستیابی به پتانسیل غنی AI2، در دو نمای آن با عنوان Designer و Blocks نهفته است.
ما با استفاده از دکمههای Designer و Blocks که در منوی سبز رنگ قسمت بالا و سمت راست صفحهی وب قرار گرفته میتوانیم بین این نماها سوئیچ کنیم. Designer view برای تعریف اسکرینهای برنامهی کاربردی مورد استفاده قرار میگیرد. در این جا میتوانیم مشخصات اسکرین را تعریف کنیم و سپس هر تعداد اجزایی که دوست داریم از سمت چپ پانل Palette به درون اسکرین بکشیم؛ برخی از اینها عناصر بصری مثل لیبلها و دکمهها هستند در حالی که گزینههای غیر بصری شامل سنسورها و گزینههای ذخیرهسازی دادهها میشود.
در Block View، ما رفتار برنامهی کاربردی را تعریف میکنیم. این کار با کشیدن و انداختن بلاکهای رنگی و متصل به هم به درون ناحیهی اصلی کد انجام میگیرد. این بلاکها سپس با هم "snap" میشوند تا یک برنامه را تشکیل دهند. خود بلاکها گاهی اوقات دربردارندهی داده هستند که به مشخص کردن رفتار برنامهی کاربردی کمک میکند.
Designer View
ابتدا نگاه نزدیکتری به Designer View بیندازیم. چهار پانل اصلی بر روی صفحه وجود دارد. اینها از چپ به راست اجزای screen Viewer, Screen Components, Palette و مشخصات اجزای انتخاب شده هستند. اگر به پائین بیایید، یک پانل کوچک برای آیتمهای رسانهی ایمپورت شده مشاهده خواهید کرد. یک قطعه را به درون screen بکشید تا در لیست اجزای آن screen ظاهر شود.این فرآیند هم برای اجزای مرئی و هم نامرئی مشابه است. شما متوجه خواهید شد که مجموعه پالت اجزای AI2 بسیار عمده است. علاوه بر گروههای User Interface و Layout، چیزهای دیگری هم وجود دارد که مسئولیت ترسیم، پیامرسانی اجتماعی، سنسورهای آنبرد، قابلیت اتصال و ذخیرهسازی دیتا را به عهده دارند. بلاکهای انیمیشن، حرکتهای ترسیمی بر روی بومهای سفارشی را کنترل میکنند.
بلاکهای بخش رسانه شامل camera control (کنترل دوربین)، اجرای ویدئو و حتی تشخیص گفتار یا تبدیل متن به گفتار میشود. عناصر Sensor دسترسی به ساعت داخلی، شتابسنج، GPS و جهت را فراهم میکنند. گزینههای Connectivity شامل وب، بلوتوث و اگر دیوایس شما از آن پشتیبانی نماید NFC یا near field communication میشود.
آیا متوجه یک علامت سؤال دایرهای در کنار هر یک از اجزای موجود در پانل Palette شدید؟
بر روی آن کلیک کنید تا توضیحی از آن بخش خاص و لینکی به یک صفحهی آنلاین کمک مشاهده کنید.
Blocks View
وقتی در حال طراحی screen هستیم زمان تعریف رفتار برنامهی کاربردی فرا میرسد. به طور طبیعی این کار از طریق یک ویرایشگر و یک زبان کدنویسی سنتی انجام میگیرد اما با AI2 تمام کاری که باید انجام دهیم کنار هم قرار دادن بلاکهای رنگی و تعریف تعدادی دادهی متنی یا عددی است. ممکن است فکر کنید این یک استراتژی محدودتر است اما در این نمونهی دوم از App Inventor مجموعهی عظیم و عمدهای از بلاکها وجود دارد. این بلاکها تمامی عناصر اساسی کدنویسی نظیر منطق، ریاضیات، کنترل جریان کاری، ادارهی رویداد، متغیرها و روالها را تحت پوشش قرار میدهد. کلیهی بلاکهایی که از عملکرد ژنریک برخوردار هستند و در گروههای رنگی قرار گرفتهاند و در سمت چپ پانل Block جای دارند. رنگهایی که مشخص کننده عملکرد هستند وقتی ناحیهی کدینگ Viewer شروع به رشد مینماید به هدایت چشمان شما کمک میکند. رنگ قهوهای برای کنترل، سبز برای منطق، آبی برای ریاضیات، cyan برای لیستها، ارغوانی برای روالها و... غیره. هر چند اینها همهی چیزهایی که در دسترس شما قرار دارند نیست. وقتی بر روی یکی از اجزایی که قبلاً در مرحلهی طراحی به screen اضافه شده بود کلیک کنید بلاکهای گوناگونی در انواع مختلف ظاهر میشوند. و این بلاکهایی که هر یک عملکرد خاصی را تعریف میکنند هستند که واقعاً AI2 را به چنین ابزار کدنویسی انعطافپذیر و دوستانهای تبدیل میکنند.منوها
در بالای صفحهی وب AI2 ما میتوانیم نوار منوی سبز رنگ را مشاهده کنیم. پر کاربردترین آنها در سمت چپ قرار دارند و شامل گزینههایی برای مدیریت پروژهها و همچنین تست و ساخت برنامههای کاربردی میشوند. به جای اینکه الان دربارهی اینها حرف بزنیم، وقتی شروع به ساخت برنامههای کاربردی اندرویدی نمودیم آنها را به طور ویژه تحت پوشش قرار خواهیم داد.معهذا، نگاهی به اطلاعات عظیمی که در بخش help وجود دارد ایدهی مناسبی است. منوی Guide، که در بالا و سمت راست قرار دارد یک عملکرد beginners-start-here دارد، در حالی که منوی Help اطلاعات متنی بسیار بیشتری را در خود جای داده است.
مرحلهی بعدی چیست
با AI2، هر چیزی که برای ساخت برنامههای کاربردی محلی اندرویدی نیاز داریم در اختیارمان است که میتوان این برنامهها را تست و بر روی یک گوشی هوشمند یا تبلت اندرویدی بارگذاری کرد و حتی به عنوان یک برنامهی کاربردی رایگان یا پولی بر روی Google Play store قرار داد. دفعهی بعد، ما مجموعهای از برنامههای کاربردی سودمند را خواهیم ساخت که در عین حال از پتانسیل زیادی برای سفارشیسازی برخوردار هستند.منبع مقاله :
ماهنامه کامپیوتری بزرگراه رایانه شمارهی 188، سال هجدهم، شهریور 1394