Budowanie aplikacji w języku ActionScript

Do zbudowania aplikacji w języku ActionScript nie wystarczy znajomość składni i nazw klas, które będą używane. Większość dokumentacji platformy Flash opisuje te dwa zagadnienia (składnia i korzystanie z klas ActionScript). Jednak w celu zbudowania aplikacji w języku ActionScript wymagana jest również następująca wiedza:

  • Jakie programy mogą być używane do pisania w języku ActionScript?

  • W jaki sposób można porządkować kod ActionScript?

  • W jaki sposób dołączyć kod ActionScript do aplikacji?

  • Jakie są etapy tworzenia aplikacji w języku ActionScript?

Warianty organizacji kodu

Język ActionScript 3.0 pozwala na realizację rozmaitych operacji — od prostej animacji grafiki po złożone przetwarzanie transakcji w modelu klient-serwer. W zależności od rodzaju budowanej aplikacji można użyć różnych sposobów uwzględniania kodu ActionScript w projekcie.

Zapisywanie kodu w klatkach na osi czasu w programie Flash Professional

W programie Flash Professional możliwe jest dodawanie kodu ActionScript do dowolnych klatek na osi czasu. Kod ten będzie wykonywany w trakcie odtwarzania filmu, gdy głowica odtwarzania znajdzie się w danej klatce.

Umieszczenie kodu ActionScript w klatkach pozwala na prostą rozbudowę funkcjonalności aplikacji zbudowanych w programie Flash Professional. Możliwe jest dodawanie kodu do dowolnych klatek na głównej osi czasu lub do dowolnych klatek na osi czasu każdego symbolu typu MovieClip. Jednak ta swoboda ma swoją cenę. W większych aplikacjach nietrudno stracić rozeznanie, które klatki zawierają poszczególne skrypty. W rezultacie ta skomplikowana struktura może utrudnić modyfikowanie i rozbudowywanie aplikacji.

Wielu programistów decyduje się na uproszczenie organizacji kodu ActionScript i umieszcza kod tylko w pierwszej klatce osi czasu lub na konkretnej warstwie dokumentu Flash. Oddzielenie kodu ułatwi wyszukiwanie i modyfikowanie kodu w plikach FLA programu Flash. Jednak użycie tego samego kodu w innym projekcie Flash Professional nie będzie możliwe, jeśli nie zostanie on skopiowany i w klejony do nowego pliku.

Aby ułatwić stosowanie kodu ActionScript w innych projektach Flash Professional, można zapisać kod w zewnętrznych plikach ActionScript (są to pliki tekstowe o rozszerzeniu .as).

Osadzanie kodu w plikach Flex MXML

W środowisku programistycznym Flex, takim jak Flash Builder, można umieścić kod ActionScript między znacznikami <fx:Script> w pliku MXML Flex. Jednak może to spowodować zwiększenie złożoności dużych projektów i utrudnić korzystanie z kodu w innych projektach Flex. Korzystanie z kodu ActionScript w innych projektach Flex w przyszłości będzie łatwiejsze, jeśli kod zostanie zapisany w zewnętrznych plikach ActionScript.

Uwaga: W tym celu można określić parametr dla znacznika <fx:Script> . Za pomocą parametru source można „zaimportować” kod ActionScript z pliku zewnętrznego w taki sposób, jakby został on wpisany bezpośrednio do znacznika <fx:Script> . Jednak używany plik źródłowy nie może definiować własnej klasy, co ogranicza możliwość stosowania tego samego pliku w różnych projektach.

Zapisywanie kodu w plikach ActionScript

Jeśli projekt zawiera obszerny kod w języku ActionScript, najlepszym sposobem na zorganizowanie tego kodu będzie umieszczenie go w odrębnych plikach źródłowych ActionScript (plikach tekstowych z rozszerzeniem AS). Plik ActionScript może mieć jedną z dwóch struktur, w zależności od planowanego sposobu wykorzystania go w aplikacji.

  • Nieustrukturyzowany kod ActionScript: wiersze kodu ActionScript, w tym definicje instrukcji lub funkcji, są zapisane tak, jak gdyby zostały wprowadzone bezpośrednio do skryptu osi czasu lub pliku MXML.

    Zapisany w ten sposób kod ActionScript można włączyć do projektu za pomocą instrukcji include języka ActionScript lub znacznika <fx:Script> w pliku Flex MXML. Instrukcja include ActionScript informuje kompilator o konieczności uwzględnienia treści zewnętrznego pliku ActionScript w wyznaczonym miejscu oraz w określonym zakresie w skrypcie. Rezultat jest taki sam, jakby kod został wprowadzony bezpośrednio. W języku MXML użycie znacznika <fx:Script> z atrybutem source jest sposobem na wskazanie zewnętrznego kodu ActionScript, który jest ładowany przez kompilator w odpowiednim momencie w aplikacji. Na przykład poniższy znacznik spowoduje załadowanie zewnętrznego pliku ActionScript o nazwie Box.as:

    <fx:Script source="Box.as" />
  • Definicja klasy ActionScript: definicja klasy w języku ActionScript zawierająca definicje metod i właściwości.

    Zdefiniowanie klasy umożliwia uzyskanie dostępu do kodu ActionScript w klasie poprzez utworzenie instancji klasy oraz z wykorzystaniem jej właściwości, metod i zdarzeń. Korzystanie z własnych klas przebiega tak samo, jak korzystanie z dowolnych wbudowanych klas ActionScript, i wymaga dwóch etapów:

    • Użycia instrukcji import określającej pełną nazwę klasy, tak aby kompilator języka ActionScript był w stanie ją znaleźć. Na przykład: w celu użycia klasy MovieClip w kodzie ActionScript należy zaimportować klasę - wprowadzając jej pełną nazwę - wraz z pakietem i klasą:

      import flash.display.MovieClip;

      Możemy też zaimportować pakiet zawierający klasę MovieClip, co jest równoważne użyciu odrębnych instrukcji import dla poszczególnych klas w pakiecie:

      import flash.display.*;

      Klasy najwyższego poziomu stanowią jedyny wyjątek od reguły, która głosi, że klasa musi zostać zaimportowana, aby możliwe było jej użycie w kodzie. Te klasy nie są zdefiniowane w pakiecie.

    • Napisz kod, w którym znajdzie się nazwa klasy. Na przykład: zadeklaruj zmienną, której typem danych będzie konkretna klasa, a następnie utwórz instancję klasy, która zostanie umieszczona w zmiennej. Użycie klasy w języku ActionScript nakazuje kompilatorowi załadowanie definicji tej klasy. Na przykład: w przypadku klasy zewnętrznej o nazwie Box ta instrukcja tworzy instancję klasy Box:

      var smallBox:Box = new Box(10,20);

      Gdy kompilator po raz pierwszy napotka odniesienie do klasy Box, wyszuka dostępny kod źródłowy w celu odnalezienia definicji klasy Box.

Wybór właściwego narzędzia

W celu pisania i edycji kodu ActionScript można wykorzystać jedno z kilku narzędzi (lub wiele narzędzi jednocześnie).

Flash Builder

Adobe Flash Builder to idealne narzędzie przeznaczone do tworzenia projektów w środowisku Flex oraz projektów, które zawierają głównie kod ActionScript. Flash Builder zawiera również w pełni wyposażony edytor ActionScript, a także funkcje do definiowania układu oraz edycji kodu MXML. Ten program może być używany do tworzenia projektów wyłącznie w środowisku Flex albo w kodzie ActionScript. Środowisko Flex ma wiele zalet, takich jak bogata gama gotowych elementów sterujących, elastyczne elementy do dynamicznego sterowania układem i wbudowane mechanizmy współpracy ze zdalnymi danymi oraz łączenia danych zewnętrznych z elementami interfejsu użytkownika. Jednak korzystanie z tych funkcji wymaga wprowadzenia dodatkowego kodu, dlatego pliki SWF projektów wykorzystujących środowisko Flex mogą być większe niż w przypadku ich odpowiedników nieutworzonych w środowisku Flex.

Z programu Flash Builder należy korzystać w przypadku tworzenia kompletnych, sterowanych danymi aplikacji RIA w środowisku Flex. Program może służyć do edycji kodu ActionScript, edycji kodu MXML oraz do definiowania układu aplikacji — wszystkie te czynności można wykonać w jednym narzędziu.

Wielu użytkowników programu Flash Professional, którzy tworzą rozbudowane projekty w kodzie ActionScript, korzysta z tego programu w celu tworzenia elementów wyświetlanych, a program Flash Builder jest wówczas stosowany jako edytor kodu ActionScript.

Flash Professional

Program Flash Professional — oprócz funkcji przeznaczonych do tworzenia grafiki i animacji — udostępnia narzędzia przeznaczone do pracy z kodem ActionScript. Kod może zostać dołączony do elementów w pliku FLA lub może znajdować się tylko w zewnętrznych plikach ActionScript. Flash Professional jest narzędziem idealnym w przypadku projektów zawierających rozbudowane animacje lub wideo. Jest bardzo wartościowy, gdy użytkownik samodzielnie tworzy większość elementów graficznych. Inną przyczyną korzystania z programu Flash Professional w celu programowania w języku ActionScript jest możliwość tworzenia elementów graficznych oraz pisania kodu w tej samej aplikacji. Program Flash Professional zawiera również wstępnie wbudowane składniki interfejsu użytkownika. Korzystając z tych składników można tworzyć mniejsze pliki SWF, a za pomocą narzędzi graficznych można dostosowywać te składniki do stylu konkretnego projektu.

Program Flash Professional zawiera dwa narzędzia do pisania kodu w języku ActionScript:

  • Panel Operacje: jest dostępny podczas pracy w pliku FLA i umożliwia pisanie kodu ActionScript powiązanego z klatkami na osi czasu.

  • Okno Skrypt: jest do odrębny edytor tekstu przeznaczony specjalnie do pracy z plikami ActionScript (AS).

Edytor kodu ActionScript dostarczony przez inną firmę

Ponieważ pliki ActionScript (z rozszerzeniem AS) mają postać prostych plików tekstowych, każdy program, który może edytować zwykłe pliki tekstowe umożliwia także pisanie plików ActionScript. Obok oferowanych przez firmę Adobe produktów do programowania w języku ActionScript dostępnych jest kilka edytorów tekstu opracowanych przez inne firmy i wyposażonych w funkcje specyficzne dla języka ActionScript. Treść pliku MXML lub klasy ActionScript można zapisać w dowolnym edytorze tekstu. Następnie za pomocą pakietu Flex SDK można utworzyć z tych plików aplikację. Projekt może wykorzystywać środowisko Flex lub tylko kod ActionScript. Niektórzy programiści korzystają z programu Flash Builder lub edytorów kodu ActionScript innych firm — w celu pisania klas ActionScript, a z programu Flash Professional w celu tworzenia treści graficznych.

Przyczyny korzystania z edytora ActionScript innej firmy:

  • Użytkownik pisze kod ActionScript w osobnym programie, a elementy graficzne tworzy w programie Flash Professional.

  • Używa aplikacji do programowania w technologiach innych niż ActionScript (np. do tworzenia stron HTML lub budowania aplikacji w innym języku programowania) i chce używać tej samej aplikacji do pisania programów w języku ActionScript.

  • Tworzone są obiekty zawierające tylko kod ActionScript lub projekty w środowisku Flex przy wykorzystaniu pakietu Flex SDK bez programów Flash Professional i Flash Builder.

Oto niektóre warte wzmianki edytory kodu, które oferują funkcje specyficzne dla języka ActionScript:

Proces tworzenia aplikacji w języku ActionScript

Niezależnie od tego, czy projekt ActionScript jest duży, czy niewielki, zastosowanie procesu projektowania i programowania aplikacji sprawia, że praca przebiega bardziej wydajnie. Poniższe kroki składają się na podstawowy proces budowania aplikacji, w której wykorzystywany jest język ActionScript 3.0:

  1. Projektowanie aplikacji.

    Przed przystąpieniem do budowania aplikacji należy ją opisać.

  2. Tworzenie kodu w języku ActionScript 3.0.

    Do tworzenia kodu w języku ActionScript można użyć programów Flash Professional, Flash Builder, Dreamweaver lub edytora tekstu.

  3. Utworzenie projektu Flash lub Flex umożliwiającego wykonanie kodu.

    W programie Flash Professional utwórz plik FLA, skonfiguruj ustawienia publikowania, dodaj do aplikacji składniki interfejsu użytkownika, a następnie utwórz odniesienie do kodu ActionScript. W środowisku Flex zdefiniuj aplikację, dodaj składniki interfejsu użytkownika za pomocą kodu MXML, a następnie utwórz odniesienie do kodu ActionScript

  4. Opublikowanie i przetestowanie aplikacji.

    Testowanie aplikacji obejmuje uruchomienie aplikacji ze środowiska programistycznego oraz sprawdzenie, czy działa zgodnie z oczekiwaniami.

Kroki te nie muszą być wykonywane w kolejności, w jakiej zostały tu wymienione. Do kolejnych kroków można też przechodzić przed ukończeniem poprzednich. Możemy na przykład zaprojektować jeden ekran aplikacji (krok 1), utworzyć grafikę, przyciski itd. (krok 3), dopiero potem napisać kod ActionScript (krok 2) i przetestować aplikację (krok 4). Możliwe jest także projektowanie kolejnych części aplikacji, dodawanie po jednym przycisku lub elemencie interfejsu i pisanie kodu ActionScript dla każdego nowego elementu, a także testowanie aplikacji w miarę, jak powstaje. Zapamiętanie tych czterech kroków procesu programowania może być pomocne. Jednak w rzeczywistym programowaniu bardziej efektywne jest wykonywanie kolejnych kroków, a w razie potrzeby wracanie do poprzednich.