Pravidla aplikace SWF

Nejlepší způsob vytváření aplikací Flash Professional závisí na aplikaci, kterou vytváříte, a na technologii, kterou k vývoji této aplikace používáte.

Online aplikace umožňuje uživateli ovlivnit webové místo prostřednictvím interaktivního působení. Aplikace by například mohla shromažďovat informace od určitého uživatele (například jméno uživatele a heslo pro registraci), tyto informace by se mohly přidávat do webového místa (například do fóra) nebo by uživatel mohl interaktivně pracovat v reálném čase s ostatními návštěvníky webového místa (například v rámci konferenční místnosti nebo interaktivní porady). Výsledky ze serveru se často objevují v souboru SWF v závislosti na interakci. Tyto příklady jsou aplikace, které aktivně zapojují uživatele a obsahují různé druhy interaktivní práce se serverem. Webové místo, které nevyužívá informace nebo data návštěvníka, není aplikace (například portfolio, animované karikatury nebo statické informační webové místo). Aplikace Animate vyžadují interaktivní proces, který probíhá mezi uživatelem, webovou aplikací a serverem. Základní proces je následující:

  1. Uživatel zadá informace do souboru SWF.

  2. Tyto informace se převedou na data.

  3. Tato data se zformátují a odešlou na webový server.

  4. Data se shromáždí na webovém serveru a odešlou na aplikační server (například ColdFusion, PHP nebo ASP).

  5. Data se zpracují a odešlou zpět na webový server.

  6. Webový server odešle výsledky do souboru SWF.

  7. Soubor SWF obdrží zformátovaná data.

  8. Váš ActionScript zpracuje data tak, aby je aplikace mohla použít.

Když vytváříte aplikaci, musíte vybrat protokol pro přenos dat. Tento protokol zasílá výstrahu aplikaci při odeslání nebo přijetí dat, oznamuje jí, v jakém formátu se data přenášejí a jak zpracovává odezvu serveru. Po obdržení v souboru SWF se musí data zpracovat a zformátovat. Pokud použijete protokol, nemusíte se obávat, že by data byla v neočekávaném formátu. Při přenosu dat s použitím párů název-hodnota můžete kontrolovat, jak jsou data formátovaná. Zkontrolujte, zda jsou data zformátovaná správně, abyste nepřijímali data zformátovaná jako XML a aby soubor SWF věděl, jaká data má očekávat a s jakými bude pracovat.

Shromažďování a formátování dat

Aplikace závisejí na interakci uživatele se souborem SWF. Ta často závisí na uživateli zadávajícím data do formulářů. Aplikace Animate nabízí různé způsoby zadávání a formátování dat v aplikacích Animate. Tato flexibilita je dána možnostmi animace, kreativně ovládaným rozhraním a možností kontrolovat a ověřovat chyby pomocí ActionScriptu.

Výhody použití aplikace Animate k vytváření formulářů pro sběr dat:

  • Zlepšená kontrola návrhů.

  • Snížená nebo žádná potřeba obnovování stránky.

  • Vícenásobné používání společných datových zdrojů.

    Tip: Chcete-li ukládat informace, které od uživatele získáváte, ukládejte je ve sdíleném objektu na počítači uživatele. Sdílené objekty umožňují ukládat data na počítači uživatele, což je způsob podobný používání cookies. Další informace o sdílených objektech najdete v sekcích o třídě sharedObject v příručkách ActionScript 2.0 Language Reference (Referenční příručka jazyka ActionScript 2.0) nebo ActionScript 3.0 Language and Components Reference (Referenční příručka jazyka ActionScript 3.0 a jeho komponent).

Odesílání a zpracování dat

Informace musíte obvykle zpracovat ještě před jejich odesláním na server, takže jsou zformátovány způsobem, kterému tento server rozumí. Jakmile server obdrží data, lze tato data zpracovat mnoha způsoby a odeslat je zpět do souboru SWF ve formátu, ve kterém je možné ho přijmout, což může znamenat celou škálu možností od formátu párů název-hodnota až po složité objekty.

Poznámka:

Váš aplikační server musí mít specifikaci typu MIME svého výstupu nastavenou na application/x-www-urlform-encoded. Pokud tento typ MIME chybí, výsledek je obvykle při přijetí v aplikaci Animate nepoužitelný.

Následující tabulka znázorňuje různé možnosti odesílání dat na server a jejich příjímání pomocí aplikace Animate:

Odesílání dat

Popis

LoadVars.send a LoadVars.sendAndLoad

Odesílá páry název-hodnota do skriptu na straně serveru pro zpracování. LoadVars.send odesílá proměnné do vzdáleného skriptu a ignoruje jakoukoli odezvu. LoadVar.sendAndLoad odesílá páry název-hodnota na server a načítá nebo analyzuje odezvu do cílového objektu LoadVars.

XML.send a XML.sendAndLoad

Podobné jako LoadVars, ale XML.send a XML.sendAndLoad odesílají pakety XML místo párů název-hodnota.

getURL

Funkcí getURL() nebo metodou MovieClip.getURL můžete odesílat proměnné z aplikace Animate do snímku nebo rozbalovacího okna.

Vzdálené součásti

Umožňují snadno vyměňovat informace mezi aplikací Animate a aplikacemi ColdFusion, ASP.NET, Java a dalšími. Vzdálené součásti aplikace Animate také umožňují využívat webové služby.

Webové služby

Aplikace Adobe Animate obsahuje komponentu WebServiceConnector, která umožňuje připojovat se ke vzdáleným webovým službám, odesílat a přijímat data a navazovat výsledky ke komponentám. Vývojáři, kteří používají Animate, tak mohou rychle vytvářet obsahově bohaté internetové aplikace RIA (Rich Internet Applications), a přitom nemusí napsat ani jediný řádek ActionScriptu.

Můžete využívat vzdálené webové služby s použitím tříd WebServiceClasses, které mohou vyžadovat psaní složitého jazyka ActionScript.

Přidávání načítání a ověřování dat

Všechny informace, které načítáte, ověřujte ještě před odesíláním dat na server. To snižuje zátěž na vzdáleném serveru, protože server nezpracovává tolik požadavků, když uživatelé nevyplňují vyžadovaná pole. Nikdy se v žádné aplikaci nespoléhejte pouze na ověřování na straně klienta; ověřování na straně serveru musí proběhnout také.

I při vytváření jednoduchého registračního nebo přihlašovacího formuláře kontrolujte, zda uživatel napsal své jméno a heslo. Toto ověřování provádějte před odesláním požadavku do vzdáleného skriptu na straně serveru a čekáním na výsledek. Nespoléhejte pouze na ověřování na straně serveru. Pokud uživatel zadá pouze jméno uživatele, skript na straně serveru musí obdržet požadavek, ověřit zaslaná data a vrátit do aplikace Animate chybovou zprávu s informací, že je nutné zadat jméno uživatele i heslo. Podobně, pokud se ověření provede pouze na straně klienta (v rámci souboru SWF), uživatel se může nabourat do souboru SWF, obejít ověření a odeslat data na váš server s cílem vložit špatná data.

Ověření na straně klienta může být velmi jednoduché, například může spočívat v kontrole, že pole formuláře je alespoň jeden znak dlouhé nebo že uživatel zadal hodnotu, a ne řetězec. Chcete-li například ověřit e-mailovou adresu, zkontrolujte, jestli není textové pole v aplikaci Animate prázdné a obsahuje alespoň znak "zavináč (@) a tečku (.). V případě ověřování na straně serveru přidejte složitější ověření a zkontrolujte, zda e-mailová adresa patří platné doméně.

Musíte napsat ActionScript, který bude zpracovávat data načítaná do souboru SWF ze serveru. Jakmile dokončíte načítání dat do souboru SWF, lze k těmto datům v tomto umístění získávat přístup. Ke kontrole, zda se data plně načetla, použijte ActionScript. K odeslání signálu, že se data načetla do dokumentu, můžete použít zpětně volané funkce nebo posluchače.

Data mohou být při načítání formátovaná několika způsoby:

  • Můžete načítat XML, v tom případě k analýze a využití dat použijte metody a vlastnosti třídy XML. Pokud používáte páry název-hodnota, tyto páry se změní v proměnné a vy s nimi jako s proměnnými můžete pracovat.

  • Můžete přijímat data z webové služby nebo ze vzdálených součástí aplikace Animate.

V obou případech byste mohli přijímat složité struktury dat, například datová pole, objekty nebo sady záznamů, které musíte přiměřeným způsobem analyzovat a vázat.

Použití zpracování chyb a ladění

Vaše aplikace musí být dostatečně robustní, aby mohla předcházet určitým chybám a příslušně je zpracovávat.

Jedním z nejlepších způsobů, jak provádět zpracování chyb ve skriptu jazyka ActionScript 2.0 je používat bloky konstrukce try-catch-finally, které umožňují generovat a zpracovávat vlastní chyby. Když vytvoříte vlastní třídy chyb, můžete vícenásobně využívat kód v celé vaší aplikaci bez nutnosti znovu psát kód pro zpracování chyb. Další informace o generování vlastních chyb viz třída Error v dokumentu ActionScript 2.0 Language Reference (Referenční příručka jazyka ActionScript 2.0). Další informace o blocích konstrukce try-catch-finally viz try..catch..finally v příručce ActionScript 2.0 Language Reference (Referenční příručka jazyka ActionScript 2.0).

V jazyku ActionScript 3.0 používejte k zpracování chyb třídu flash.errors.

Další informace najdete v tématu „Handling synchronous errors in an application“ (Zpracování synchronních chyb v aplikaci) v příručce Programming ActionScript 3.0 (Programování v jazyku ActionScript 3.0).

Uspořádání souborů a ukládání kódu

Než začnete organizovat soubory a ukládat kód, připomeňte si následující pravidla:

  • Rozdělujete soubor SWF do více souborů SWF, a pokud ano, jak by měly vzájemně spolupracovat?

  • Jaké datové zdroje můžete sdílet mezi soubory SWF?

  • Jaké soubory dynamicky načítáte?

  • Jak a kde uchováváte ActionScript?

    Když vyvíjíte aplikaci, uchovávejte svůj kód a soubory na straně serveru v logickém adresářovém členění podobném struktuře v balíčku jazyka ActionScript. Uspořádejte svůj kód tímto způsobem, pokud chcete dosáhnout výhodného rozvržení a snížit nebezpečí přepsání kódu.

    U větších aplikací uzavřete komunikaci klient-server a služby do tříd. Používání tříd přináší následující výhody:

  • Můžete opakovaně využívat kód ve více než jednom souboru SWF.

  • Kód můžete upravovat v ústředním umístění a aktualizovat všechny soubory SWF novým publikováním.

  • Můžete vytvořit jediné rozhraní API, které může pracovat s různými prvky uživatelského rozhraní nebo dalšími datovými zdroji, které plní podobné funkce.

Použití návrhového vzoru MVC

Návrhový vzor MVC můžete použít k oddělování informací, výstupu a zpracování dat v aplikaci. Aplikace se dělí do tří prvků: model (model), pohled (view) a ovladač (controller); každý prvek zpracovává odlišnou část procesu.

Model

Zahrnuje data a pravidla aplikace. Velká část zpracování aplikace se odehrává v této části návrhového vzoru. Model také obsahuje libovolné komponenty (například CFC, EJB a webové služby) a databázi. Vrácená data se pro dané rozhraní (neboli nadstavbu frontend) příslušné aplikace v této části procesu neformátují. Vrácená data lze použít pro různá rozhraní (nebo pohledy).

Pohled

Zpracovává nadstavbu frontend dané aplikace (rozhraní, se kterým uživatel interaktivně pracuje) a vykresluje obsah modelu. Rozhraní určuje, jak se znázorňují data modelu, vytváří výstupy pohledu, které může uživatel používat, a umožňuje uživateli získávat přístup k datům aplikace nebo s nimi pracovat. Pokud se model změní, pohled se aktualizuje tak, aby odrážel tyto změny, buď odesláním nebo stažením dat (posláním nebo vyžádáním dat). Pokud vytváříte hybridní webovou aplikaci (například aplikaci, která zahrnuje aplikaci Animate spolupracující na dané stránce s jinými aplikacemi), měli byste u pohledu vytvářeného z návrhového vzoru uvažovat o několika rozhraních. Návrhový vzor MVC podporuje zpracování různých pohledů.

Ovladač

Zpracovává požadavky modelu a pohledu na zpracování a zobrazení dat a obvykle obsahuje velké množství kódu. Volá libovolnou část modelu, podle toho, co uživatel požaduje od rozhraní (nebo pohledu) a obsahuje kód, který je specifický pro danou aplikaci. Protože je tento kód specifický pro danou aplikaci, obvykle není možné ho vícenásobně použít. Ostatní komponenty v návrhovém vzoru ale vícenásobně použitelné jsou. Ovladač nezpracovává žádná data ani nevytváří žádný výstup těchto dat, ale přebírá požadavek od uživatele a rozhoduje, jakou část modelu nebo komponenty pohledů musí volat, a určuje, kam se budou odesílat data a jaké formátování se má aplikovat na vrácená data. Ovladač zabezpečuje, že příslušné pohledy mají přístup k těm částem dat modelu, která musí znázornit. Ovladač obvykle předává změny, které se týkají modelu a pohledu, a reaguje na ně.

Každá část modelu je vytvořená jako samostatná komponenta v celkovém procesu. Pokud změníte jednu část modelu (například byste mohli přepracovat rozhraní), ostatní části procesu obvykle změnit nepotřebují, což snižuje možnost vzniku problémů. Je-li váš návrhový vzor vytvořený správně, můžete změnit pohled bez přebudování modelu nebo ovladače. Pokud příslušná aplikace nepoužívá MVC, provedení změn v kterémkoli místě může způsobit dominový efekt v celém rozsahu vašeho kódu, což vyžaduje mnohem více změn než v případě použití specifického návrhového vzoru.

Důležitým důvodem pro použití vzoru MVC je oddělení dat a logiky od uživatelského rozhraní. Oddělením těchto částí procesu můžete získat několik různých grafických rozhraní, která používají stejný model a neformátovaná data. To znamená, že svou aplikaci můžete používat s různými rozhraními Animate, jako je webové rozhraní, rozhraní pro Pocket PC, verze pro mobilní telefony a pravděpodobně i HTML verze, která vůbec nepoužívá Animate. Oddělení dat od zbytku aplikace může značně snížit dobu potřebnou pro vývoj, testování a dokonce aktualizaci více než jednoho klientského rozhraní. Podobně přidávání nových nadstaveb frontend pro stejnou aplikaci je snadnější, pokud máte existující model, který chcete používat.

MVC používejte pouze tehdy, když vyvíjíte velkou nebo složitou aplikaci, například webové místo elektronického obchodu nebo aplikaci pro online vzdělávání (e-learning). Použití architektury vyžaduje plánování a je potřeba pochopit způsob, jak aplikace Animate i návrhový vzor fungují. Důkladně si rozmyslete, jak spolu různé části vzájemně spolupracují, což obvykle vyžaduje testování a ladění. Při použití MVC je testování a ladění složitější než u obvyklých aplikací Animate. Jestliže vytváříte aplikaci, jejíž složitost dále poroste, měli byste uvažovat o použití architektury MVC, která vám pomůže při organizaci práce.

Vytváření zabezpečených aplikací

Nepoctiví uživatelé se mohou pokoušet nabourat se do vaší aplikace, ať vytváříte webové místo s malým portálem, do kterého se uživatelé mohou přihlásit a číst články, nebo velkou aplikaci typu elektronického obchodu. Z tohoto důvodu zvažte následující kroky k zabezpečení své aplikace.

  • U dat, která se musí zabezpečit, odesílejte data do HTTPS. Před odesláním hodnot ke zpracování na vzdálený server je v aplikaci Animate zašifrujte.

    Poznámka: Neukládejte do souboru SWF žádné informace ani kód, které uživatelé nesmí vidět. Soubory SWF je možné snadno rozebrat pomocí softwaru od jiných výrobců a zobrazit jejich obsah.

  • Přidejte mezidoménovou zásadu, která brání neoprávněným doménám v přístupu k datovým zdrojům.

 

Tato práce podléhá licenci Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License.  Na příspěvky ze služeb Twitter™ a Facebook se nevztahují podmínky licence Creative Commons.

Právní upozornění   |   Zásady ochrany osobních údajů online