خیلی از نرمافزارهای برنامه نویسی نیاز به نوشتن و تایپکردن دارد و باید دستورات و کدهای خاص آن زبان را به طور صحیح و دقیق نوشت و نباید هیچ غلط املایی داشته باشد حتی یک ویرگول اضافی یا یک فاصله اضافی به عنوان خطا محسوب میشود و باید آنها را پیدا و تصحیح کرد تا برنامه بتواند اجرا شود. و این، کار را مشکل و دشوار میکند. اما یکسری از نرم افزارهای برنامه نویسی دیگری هستند که یک محیط گرافیکی دارد و دیگر لازم به نوشتن دستورات و کدها نیست یکی از این نرم افزارها App Inventor میباشد که دارای دستورات آماده و نوشته شده است که به صورت شکلهای هندسی و با رنگهای مختلف در اختیار برنامهنویس قرار میدهد.
درست مثل قطعات یک پازل و به آنها بلاک های اپ اینونتور گفته میشود .در شکل زیر نشان داده شده است. بلاک های اپ اینونتور بخشی از برنامه نویسی تصویری را تشکیل میدهند و با عمل Drag and Drop بلاکها، و کنار هم قراردادن و چیدن بلاکها به طور صحیح برنامه و ایده خود را میسازیم. تاکنون بیش از ۳۴ میلیون برنامه با استفاده از بلاک های اپ اینونتور ارائه شده است .
مهمترین و جالبترین قسمت نرمافزار اپاینونتور قسمت بلاک های اپ اینونتور میباشد. برای ساختن برنامهی مورد نظر از قبیل انیمیشن و بازی و طرح هایآموزشی و … اگر زبان برنامه نویسی هم بلد نباشیم میتوانیم بسازیم. اما برای استفاده از این بلاک های اپ اینونتور باید قدری بر مبانی و الفبای برنامهنویسی تسلط داشته باشید و بدانید. بطور مثال مفاهیمی مثل متغیر، لیست، محاسبات ریاضی، محاسبات منطقی، دستورات شرطی و دستورات تکراری، رویه، رویداد و… چه هستند و چگونه کار میکنند.
برای اینکه یک برنامهای را ایجاد کنیم دو مرحله لازم است:
مرحله اول: طراحی شکل و ظاهر برنامه
این کار در App Inventor در نمایDesigner انجام میشود.
مرحله دوم: طراحی چگونگی کارکردن با برنامه.
این کار در App Inventor درنمای Blocks با اتصال و کنار هم قرار دادن بلاک های اپ اینونتور انجام میشود.
بلاک های اپ اینونتور
App Inventor دو نوع بلاک دارد:
۱) بلاکهای داخلی (Built-in blocks)
در هر برنامه ای می توان از آنها استفاده کرد. مانند متغیر، دستورات شرطی، دستورات تکرار، رویه، عملگرهای منطقی و ریاضی و غیره در این بخش قرار دارند.
بلاکهای داخلی اپ اینونتور با توجه به وظایفی که دارند به ۹ گروه و دسته تقسیم بندی شده اند و به شرح زیر است:
Control blocks
دستورات کنترلی و عملگرهای شرطی و دستوراتی که میخواهید به تعداد مشخص تکرار شوند در این دسته قرار دارند، به عنوان مثال یک برنامه بازی ممکن است بررسی کند که آیا امتیاز بازیکن به ۱۰۰ رسیده است. یا یک برنامه آگاه از موقعیت مکانی ممکن است از شما بپرسد که آیا تلفن در محدوده یک ساختمان قرار دارد یا خیر! اپلیکیشن شما می تواند چنین سوالاتی را بپرسد و بسته به پاسخ، مطابق با آن عمل کند.
Logic blocks
عملگرهای منطقی به صورت Boolean (true, false) و عملگرهای مقایسه ای در این دسته قرار دارند.
Math blocks
ایجاد اعداد و انجام عملیات ریاضی پایه (چهار عمل اصلی ریاضی، توان، …) و پیشرفته (توابع مثلثاتی و لگاریتمی، بزرگترین یا کوچکترین عدد از لیستی از اعداد، …). در این دسته قرار دارند. همچنین میتوان تبدیل واحدهای اندازه گیری درجه به رادیان و باالعکس انجام داد. زمانی که خواسته باشیم چندین عدد را جمع کنیم می توان با کلیک کردن بر روی علامت آبی رنگ بالای بلاک و درگ کردن به سمت بلاک مورد نظر به ان اضافه کرد.
Text Blocks
برای نوشتن متن انگلیسی و فارسی از این بلاک استفاده میشود. متن می تواند شامل هر کاراکتری (حروف، اعداد یا سایر علامت ها) باشد. همچنین عملیات معکوس کردن متن، متصل کردن دو یا چند متن به یکدیگر، تبدیل کردن حروف انگلیسی کوچک یه بزرگ و باالعکس در این بخش انجام میشود.
List blocks
ایجاد لیست و تغییرات آن در این دسته قرار دارند.
Color blocks
برای ایجاد و تغییر رنگ می باشد.
Variable blocks
برای تعریف متغییر و مقدار دهی آن می باشد.
Procedures blocks
بهجای اینکه مجبور باشید دنبالهای طولانی از بلاکها را کنار هم قرار دهید، میتوانید از بلاک Procedures استفاده کنید و بلاکها را داخل آن قرار دهید فقط هر زمان که میخواهید دنباله بلاکهای شما اجرا شود، بلاک رویه (Procedures) را فراخوانی کنید و برای فراخوانی کردن آن رویه از بلاک Procedures call استفاده میشود که در این دسته قرار دارد.
۲) بلاکهای مؤلفه (component blocks)
هر اجزا (مولفه) که در قسمت طراحی اضافه شده است، دارای بلاکهای خاص شامل رویدادها (events)، تنظیم و دریافت (set and get)، متد فراخوانی (call method) و …می باشد.
رویدادها (Events)
رویداد یا Event، عملی است که توسط کاربر یا برنامه، اتفاق میافتد. Event نقش مهمی ایفا میکنند. چراکه میتوانند باعث پویای برنامه و جالب تر شدن برنامه شود.
به عنوان مثال زمانی که کاربر روی یک دکمه فشار می دهد، یک رویداد click رخ میدهد Button Click، تلفن در حال تکان دادن است، AccelerometerSensor.Shaking، کاربر انگشت خود را روی بوم نقاشی میکشد، و غیره . بسیاری از Event ها میتوانند یک بار یا چندین بار اتفاق بیافتند و حتی شاید هیچوقت رخ ندهند. ممکن است شما ندانید چه رویدادی رخ خواهدافتاد میتوانیم برنامه را به گونهای تنظیم کنیم که هنگام وقوع Event، نسبت به آن واکنش نشان دهد و دستوراتی اجرا شود. اکثر رویدادها به رنگ سبز هستند. رویدادهای دیگر دکمه : Long Click ،Got Focus، وLost Focus است.
هنگامی که یک رویداد ی اتفاق می افتد، دنباله ای از فرمان ها و دستورات مشخص شده و انتخاب شده را می تواند اجرا کند. فرمان، عملی را مشخص می کند که باید روی برنامه یا تلفن انجام شود مثلاً پخش صداها sound 1 Play. اکثر بلوک های فرمان به رنگ بنفش یا آبی هستند. برخی از فرمانها به یک یا چند مقدار ورودی (به عنوان پارامتر یا آرگومان شناخته می شوند) نیاز دارند تا عملکرد خود را به طور کامل مشخص کنند. برای مثال، call Sound1.Vibrate نیاز به مقداری برای لرزش دارد مثلا ۱۰ میلی ثانیه، ترتیب فرمان ها هنگام ساخت یک برنامه مهم است و شما باید مطمئن شوید که کدام فرمان و کار باید اول باشد.
Getter Blocks
بلاکهای دریافت کننده عباراتی هستند که دارای مقدار فعلی ویژگی هستند و مقدار جدید را دریافت میکنند.
Setter Blocks
بلاکهای تنظیم کننده عباراتی هستند که مقدار مربوط به ویژگی را تغییر می دهند.
گفتیم که هر مؤلفه و اجزای برنامه دارای یکسری ویژگی هایی هستند که در نمای Designer می توان آنها را تنظیم و مشخص کرد. همچنین میتوان در برنامههای App Inventor اکثر ویژگیهای مؤلفه را درنمای Blocks از طریق بلاکها، دریافت و تنظیم کرد.
یک نکته مهم برنامه نویسی توضیح دادن کدهای برنامه توسط برنامه نویس میباشد و به آن مستندسازی کد میگویند . به خصوص زمانی که کد خود را با دیگران به اشتراک می گذارید یا اگر می خواهید روی برنامه ای کار کنید که مدت زیادی است به آن نگاه نکرده اید — زمانی که ممکن است از خود بپرسید “چرا این کار را کردم؟ “! بسیار مفید است . یک برنامه نویس خوب، نظرات درست و توضیحات بجا و مناسب درباره کد یادداشت میکند. در App Inventor میتوانید با کلیک راست روی بلاک، یک یادداشت هایی در رابطه با عملکرد آن و توضیحاتی درباره آن بنویسید و به هر بلاک اضافه میشود.
نمای Blocks
نمای Blocks شامل دو بخش است :
۱) blocks
این بخش مربوط به بلاک های اپ اینونتور که شامل سه قسمت می باشد:
۱: بلاکهای داخلی ( Built-in blocks )
۲: بلاکهای مؤلفه (component blocks )
any component) :۳)
۲) viewer
بخش دوم نمای Blocks می باشد که مکان و محل قرار گرفتن بلاک های اپ اینونتور است و با عمل Drag and Drop، بلاکهای مورد نظر را در بخش viewer قرار میدهیم.
در این بخش یک آیکن به شکل کولهپشتی (Backpack) می بینید که محل ذخیره ترکیب بلاکهایی است که ممکن است در برنامههای دیگر از آن استفاده کنید. با عمل Drag and Drop بلاکها می توانید داخل این کولهپشتی قرار دهید و آنها را نگهداری کنید، در شکل زیر با شماره ۱ نشان داده شده است.
آیکن های دیگری که در این بخش وجود دارد به شکل علامت + و _ است که برای بزگ نمایی یا کوچک نمایی بخش کد می باشد که با هر بار کلیک کردن بر روی آنها قسمت viewer بزرگتر یا کوچکتر میشود. در شکل زیر با شماره ۲ نشان داده شده است .
آیکن بعدی که در این قسمت وجود دارد به نام show warning است که برای نمایش تعداد خطا ها در بلاک های اپ اینونتور می باشد تعداد خطا های مربط به کامل نبودن بلاکها به یکدیگر به رنگ زرد نشان می دهد و اگر بلاکی به اشتباه به بلاک دیگر متصل شده باشد به رنگ قرمز دیده میشود . در شکل زیر با شماره ۳ نشان داده شده است.
با عمل Drag and Drop بلاکهای اضافه که به اشتباه آورده اید و می خواهید آنها را حذف کنید در سطل زباله که درقسمت پایین در سمت راست است می توانید قرار دهید، در شکل زیر با شماره ۴ نشان داده شده است.
همچنین می توانید با کلیک راست روی هر بلاکی عملیاتی از قبیل حذف بلاک (Delete Block ) و کپیکردن بلاک (Duplicate) و ذخیره کردن بلاک در کوله پشتی (Add to Backpack) و اضافه کردن یادداشت برای بلاک (Add comment) و ذخیره کردن بلاک به صورت عکس (Download Blocks as PNG ) و غیر فعال کردن عملکرد بلاک (Disable Block) ….. انجام دهید. در شکل زیر با شماره ۵ نشان داده شده است.
سخن پایانی
در این مقاله بلاک های اپ اینونتور و نمای Blocks را توضیح دادیم، در جلسه های بعدی به جزئیات هر کدام از بلاکها و برنامه های کاربردی و سرگرم کننده میپردازیم.
بسیار عالی