Quantcast
Channel: Вивчаємо Flash та ActionScript разом »урок
Viewing all articles
Browse latest Browse all 10

Вступ до ActionScript 3: Що таке вбудована мова програмування у Flash та чим AS3 відрізняється від AS2

$
0
0

learning-actionscript Флеш не був би флешем і ніколи не здобув би широкої популярності серед програмістів та розробників, якби весь його функціонал обмежувався інструментами для створення зображень та анімації. Саме завдяки вбудованій мові програмування ActionScript (скорочено AS), зі звичайного векторного інструмента для дизайнерів флеш перетворився на потужне середовище розробки.

До сьогодні в цьому блозі публікувалися переважно статті та уроки, присвячені малюванню та основним прийомам анімації у Flash. Про ActionScript ми також неодноразово згадували, але поки-що не переходили до його вивчення. Основна дилема для мене полягала в тому, який підхід обрати до вивчення ActionScript та на якій його версії зосередитися. Тепер, коли я дав собі відповідь на ці запитання, ми можемо нарешті перейти до освоєння цієї складної, але надзвичайно цікавої мови програмування, яка відкриває перед Flash-розробником практично безмежні можливості.

До речі, можливо, ви вже звернули увагу на те, що блог змінив свою назву. Якщо раніше це був „Блог про Flash, PHP та веб-програмування” (ви навіть зустрінетесь з таким формулюванням у старіших статтях), то зараз на головній сторінці красується інша назва: „Вивчаємо Flash та ActionScript разом”. Ця назва більш точно характеризує основну ідею та вміст даного блога, оскільки я вирішив не розпорошувати час та ресурси на кілька доволі розрізнених тем і максимально зосередитись на тому, що цікавить мене найбільше – тобто на Флеші.

ActionScript 2 чи ActionScript 3?

Разом із розвитком Flash, який спершу належав компанії Macromedia, а потім перейшов у власність Adobe, розвивалася і вбудована мова програмування ActionScript. Її перша та друга версії, хоч і мали деякі відмінності, та все ж були значною мірою схожими. Сотні тисяч програмістів, які використовували флеш протягом багатьох років, здається, були просто неготовими до приходу його нової версії – ActionScript 3.

Третій етап розвитку вбудованої мови програмування у Flash без перебільшення став революцією. По-суті ActionScript 3 виявився першою версією, яку можна було назвати повнофункціональною об’єктно-орієнтованою мовою програмування. AS та AS2 хоч і мали певні ознаки цієї мови, та все ж не були самостійними і не володіли переважною частиною тих функцій, які існували у класичних мовах програмування Java чи C++.

Втім, з приходом повноцінності – приходять і виклики, пов’язані із ускладненням структури мови. Скажімо, на відміну від попередників, AS3 не можна розмістити в символах флеш. Код ActionScript 3 можна розмістити тільки у кадрах (frame) чи створити окремі файли ActionScript, які також приєднуються до кадрів.

Багато прихильників попередніх версій ActionScript зустріли нову версію вороже. Та це й не дивно. Адже для переходу їм потрібно було б повністю змінити своє мислення і по-суті, взятися за вивчення абсолютно нової мови програмування. Як наслідок – дуже велика кількість AS-програмістів до сих пір використовують ActionScript 2. На щастя, Flash дає їм таку можливість при створенні нового проекту. Але на жаль, дві мови AS2 та AS3 не можуть співіснувати в рамках одного проекту.

Саме тому вибір версії ActionScript став для мене серйозним викликом, який я вирішив на користь третьої версії мови. Так, можливо для цього людям, які раніше працювали з AS2 доведеться змінити свої стереотипи, але ж більшість читачів блога про Flash та ActionScript вивчатимуть цю мову з нуля. І їм краще відразу братися за вивчення більш досконалої і потужної (нехай навіть «більш складної») мови програмування.

А ось ще деякі причини вибору:

  • програмування на AS3 нічим принципово не відрізняється від програмування на «серйозних» мовах (Java, C++), тому більшість методологій, підходів та рішень будуть співпадати. Тоді як програмування на AS2 вимагає дещо іншого підходу і рішення, реалізовані в AS2 будуть іноді «специфічними». Випадковий кодер може бути незадоволений нововведеннями AS3, оскільки вони вимагають від нього додаткового навчання, але досвідчений програміст буде у захваті;
  • ActionScript 3 був створений з фокусом на ефективність та продуктивність. І не просто ефективність розробки (хоча зручність AS3 для великих проектів важко поставити під сумнів), а також на продуктивність при відтворенні. Так, код ActionScript 3 у деяких випадках може бути відтворений у флеш-плеєрі в 10 (а то й більше) разів швидше, ніж код ActionScript 2;
  • ActionScript 3 наділений значною кількістю нових функцій та якостей, недоступних у попередніх версіях, як от: робота над помилками, визначення типу змінних під час прогону, замкнення методу, регулярні вирази, нові типи даних, які дозволяють використовувати швидші математичні формули та багато-багато іншого.

Саме тому в рамках цього блога переважна більшість (а можливо всі) приклади програм та уроки будуть стосуватися найновішої версії – ActionScript 3.

Методологія вивчення ActionScript

Друга дилема, пов’язана з вивченням ActionScript на цьому блозі, стосувалася методології. Моєю першочерговою метою було викладення матеріалів у такому стилі та формі, щоб вони були доступні людям, які раніше ніколи не працювали з ActionScript і, швидш за все, не мали жодного досвіду роботи з іншими мовами програмування.

Більшість академічних джерел та офіційних сайтів пропонують вивчення мови починаючи з повного опису її структури та логіки. Наприклад, одна з найбільш повних та досконалих книг про ActionScript (з якою вам так чи інакше доведеться познайомитись, якщо ви візьметесь за вивчення ActionScript всерйоз): «ActionScript 3 для Flash» Коліна Мука – починає навчання з вивчення понять об’єктно-орієнтованого програмування та визначення категорій класів, методів, функцій і т. п. Такий підхід, безперечно, виправданий, якщо потрібно структурувати знання щодо мови, основи якої ви вже знаєте і з якою працюєте протягом певного часу. Втім, для абсолютних новачків, які не тільки ніколи не працювали з ActionScript, але й не стикалися з іншими мовами програмування, даний підхід може бути складним.

Саме тому в блозі про Flash та ActionScript я вирішив розпочати навчання з публікації прикладних практичних завдань. Як і в попередніх уроках, основна увага звертатиметься на вирішення конкретної (нехай і простої) задачі. При цьому в уроці буде дуже детально пояснено, за що відповідають ті чи інші частини коду. Моє завдання – щоб читач не лише зумів повторити приклад, наведений в уроці, але й повністю зрозумів принципи роботи коду та зміг видозмінювати код під свої потреби (створювати власні анімації/програми, які працюють за схожим принципом).

Практичні уроки в разі необхідності супроводжуватимуться більш ґрунтовними теоретичними статтями, в яких описуватимуться основні поняття та загальні принципи роботи ActionScript. Словом, в цьому блозі я намагатимусь дотримуватися методології, описаної у статті «Вся інформація, яка потрібна flash-розробникові, в одному ресурсі!».

А перший практичний урок ActionScript буде опублікований на блозі вже у неділю-понеділок. Якщо ви хочете бути впевнені, що не пропустите його – підпишіться на RSS.

Інші записи на цю тему:


Viewing all articles
Browse latest Browse all 10