środa, 21 lutego 2007

Adobe Apollo FAQ

Jest to polskie tłumaczenie FAQ o Adobe Apollo

Ogólne


Co to jest Apollo?

Apollo jest nazwą kodową dla silnika wykonawczego uruchamianego na wielu platformach zaprojektowanego przez Adobe, które pozwoli programistom wykorzystać ich istniejące umiejętności stosowania technologii internetowych (Flash, Flex, HTML, JavaScript, Ajax) do tworzenia i wdrażania Rich Internet Applications (RIAs) jako aplikacji komputerowych

Jakie rodzaje aplikacji można wykorzystywać w Apollo?

Wiele tradycyjnych aplikacji komputerowych może być tworzone i wykorzystywane przez silnik wykonawczy Apollo. Celem Apollo jest ułatwienie zaprojektowanie i wdrożenie RIA jako aplikacji komputerowej. W tym przypadku użycia wdrażanie RIA jako aplikacji komputerowych jest ważną cechą dla Apollo 1.0

Dla jakiego rodzaju projektantów i programistów jest Apollo?

Apollo jest skierowane dla programistów, którzy używają wiodących technologi internetowych takich jak Flash, Flex, HTML, JavaScript i Ajax do tworzenia i wdrażania RIA.

Czy Apollo będzie za darmo i ogólnodostępne?

Tak. Silnik wykonawczy Apollo będzie za darmo (podobnie jak Flash Player i Adobe Reader).

Kiedy będzie wprowadzone Apollo?

Wersja testowa Apollo będzie dostępna na witrynie Adobe Labs w 2007 roku. Po pierwszej połowie 2007 roku będzie wypuszczona wersja finalna.

Na jakich platformach będzie dostępne Apollo 1.0 ?

Apollo będzie dostępne dla Windows i dla OS X. W przyszłości planuje się wspierać inne systemy operacyjne.

Czy Apollo jest przeglądarka internetową?

Nie. Apollo jest silnikiem wykonawczym uruchamianym poza przeglądarkami internetowymi. Teoretycznie można stworzyć przeglądarkę internetową wykorzystującą Apollo.

Jaki jest docelowy rozmiar silnika Apollo?

Docelowy rozmiar silnika wykonawczego waha się w granicach 5 - 9 MB. Ważne jest to, że ten silnik będzie ściągnięty i zainstalowany tylko jeden raz.

Jak Apollo odnosi się do technologii Macromedia Central?

Kilku członków teamu Apollo wcześniej pracowało przy Macromedia Central. Apollo nie odnosi się bezpośrednio do technologii Macromedia Central. Adobe wiele nauczyło się dzięki doświadczeniu nad Macromedia Central, gdy planowano właściwości silnika Apollo. Kod Apollo jest niezależny od kodu Macromedia Central.

Programowanie


Jakie technologie można wykorzystywać w aplikacjach Apollo?

Apollo będzie umożliwiało zbudowanie aplikacji używających Flash / Flex oraz HTML / JavaScript oraz ich kombinacji. Aplikacje bazujące na Flash będą mogły zawierać zawartość HTML, oraz aplikacje bazujące na HTML i JavaScript będą mogły używać zawartości Flash. Dodatkowo aplikacje Apollo będą blisko zintegrowane z dokumentami PDF.

Czy można użyć HTML i JavaScript do tworzenia aplikacji Apollo?

Tak.

Jakiego środowiska programistycznego będę używał do programowania aplikacji Apollo?

Możesz wykorzystać wsparcia ze strony istniejących środowisk programistycznych (IDE), którego używa się dla programowania Flash /Flex albo HTML JavaScript takiego jak Flex Builder, Eclipse, vim. Apollo nie wymaga posiadania określonego środowiska programistycznego IDE. Wprowadzimy zestaw narzędzi działających z linii polecań dla Apollo co pozwoli na łatwą dla programistów integrację z swoimi ulubionym środowiskiem programistycznym IDE lub edytorami. Ogólnie możesz używać czegokolwiek co pozwala na tworzenie plików SWF lub HTML.

Czy mogę używać narzędzia typu Flash do tworzenia zawartości dla Apollo?

Tak, możesz używać wersji Flash, która wspiera ActionScript 3 i AVM2. Taką wersją będzie następna wersja Flash. Obecnie jest ogólnadostępna testowa ActionScript 3 preview release of the next version of the Flash Authoring tool (pod nazwą kodowa Blaze) dostępną w labie

Jak silnik Apollo będzie rozpowszechniany?

Apollo będzie rozpowszechniane w różny sposób:
  • poprzez ściągnięcie ze stron Adobe.
  • poprzez rozpowszechnianie z aplikacjami Apollo (w przypadku tych użytkowników którzy nie maja zainstalowanego silnika Apollo).

Jest jeszcze kilka innych sposobów dystrybucji, na razie to pozostanie poufne ze względu na to, że zależy nam na szybkim i znaczącej dystrybucji silnika Apollo. Wspomnimy o tym więcej, gdy teraz pracujemy nad tym. Ten wątek jest omówiony w tym podcaście.

Czy programiści będą mogli dystrybuować instalator silnika Apollo ze swoimi aplikacjami?

Tak, dodatkowo do tworzenia i dystrybucji pomiędzy platformami instalatora aplikacji Apollo, programiści będą mogli tworzyć instalatory, które będą sprawdzać czy użytkownik ma zainstalowany silnik Apollo. Jeśli silnik nie będzie zainstalowany to instalator zainstaluje najpierw silnik a potem aplikację. Ten wątek jest omówiony w tym podcaście.

Jak aplikacje Apollo będą instalowane?

Aplikacje Apollo będą instalowane tak jak inne aplikacje na komputerze użytkownika. Użytkownik pobierze plik instalacyjny i podwójne kliknięcie rozpocznie instalację aplikacji. Od doświadczenia końcowego użytkownika zależy to na jakim systemie operacyjnym zostanie uruchomiona, Apollo dostarczy spójny mechanizm instalacji na każdym systemie operacyjnym. Brane są pod uwagę też inne mechanizmy instalacji aplikacji Apollo.

Jaki silnik renderujący jest używany w Apollo?

HTML i JavaScript w Apollo jest obsługiwane przez silnik renderujący WebKit HTML / JavaScript.

Czy to jest ten sam projekt WebKit na którym bazują przeglądarka internetowa Safari na Mac OS X i KHTML Browser w KDE?

Tak.

Dlaczego Adobe wybrało WebKit?

Spędzono wiele czasu nad badaniem silników renderujących HTML pod kątem użycia ich w Apollo. Mamy 4 kryteria które WebKit spełnia:
  • Ma być to otwarty projekt nad którym można udzielać się.
  • Sprawdzona technologia z której programiści i końcowi użytkownicy są zadowoleni.
  • Ma mały wpływ na rozmiar silnika Apollo.
  • Sprawdzona możliwość uruchamiania tego na przenośnych urządzeniach.

Trudno było podjąć ostateczną decyzję, sądzi się, ze wybór WebKit najlepszym wyborem dla Apollo.

Czy użycie w Apollo WebKit jako nowego silnika renderującego HTML spowoduje, że programiści muszą czegoś nowego się uczyć?

Nie. Naszym celem jest obsługiwanie całkowitej zgodności z istniejącymi implementacjami WebKit. Postaramy się o to, że zawartość która wyświetlona w przeglądarkach bazujących na WebKit, takich jak Safari firmy Apple, także wyświetlałaby się w aplikacjach Apollo.

Czy Adobe planuje wysyłać zmiany do projektu WebKit?

Tak. Naszym celem jest zostać aktywnym członkiem społeczności WebKit oraz aktywnie wysyłać poprawki i propozycje zmian do projektu WebKit do uznania.

Czy to jest to samo WebKit i framework WebKit na Mac OS X?

Nie zupełnie. Projekt WebKit Open Source a Apple WebKit Framework for Mac OS X są to całkiem różne rzeczy. Apollo używa kodu z projektu WebKit a nie z Apple WebKit Framework.

Gdzie mogę znaleźć więcej informacji o WebKit?

Można znaleźć więcej informacji o WebKit na tych stronach:


Czy aplikacje Apollo będą mogły komunikować się z innymi aplikacjami Apollo?

Tak. Planujemy zaimplementować protokół Inter-Application Communication (IAC) pozwalający na łatwą komunikację pomiędzy aplikacjami Apollo.

Czy aplikacje Apollo będą mogły komunikować się bezpośrednio z bazą danych?

Apollo 1.0 nie będzie miało wbudowanego wsparcia dla bezpośredniej komunikacji z bazą danych. Jakkolwiek będzie możliwe napisanie sterowników dla baz danych w ActionScript (wykorzystującym gniazda XML lub binarne), które pozwoli aplikacjom Apolllo komunikować się bezpośrednio z bazą danych (zarówno lokalnie i jak zdalnie).

Jaką wielką kontrolę nad wyglądem aplikacji będą mieli projektanci i programiści?

Programiści i projektanci będą mieli pełna kontrolę nad wyglądem aplikacji.

Czy można wykorzystać istniejący kod Flex 2 w aplikacjach Apollo?

Tak. Nie potrzeba przepisywać istniejącego kodu z obecnych aplikacji Flex, aby je uruchamiać w Apollo, chociaż będzie potrzeba napisać dodatkowy kod wykorzystujący API Apollo.

Jakie API udostępni Apollo dla programistów?

Elementy API Apollo będą zawierać między innymi:
  • File I/O (obsługę plików)
  • Online / Offline (obsługę pracy w internecie i jak poza internetem)
  • Windowing (obsługę okienek)
  • Clipboard (obsługę schowka)
  • System Drag and Drop (mechanizm "przeciągnij i puść")
  • Full Network API support (pełne wsparcie do obsługi sieci)
  • Local Storage / Settings (lokalne zapisywanie danych)
  • i coś więcej...


Czy aplikacje Apollo umożliwiają pracę w trybie offline.

Tak, Apollo dostarcza API, które sprawi, że łatwo będzie można zaprojektować aplikację, która będzie mogła działać jak będzie odłączona od internetu.

Czy programiści będą mogli rozszerzać Apollo o własne rozszerzenia?

Nie. Takiej funkcjonalności nie będzie w Apollo 1.0

Czy Apollo będzie umożliwiało uaktualnienie aplikacji?

Tak Apollo dostarczy mechanizm który umożliwi łatwe uaktualnienie aplikacji.

Czy Apollo służy do tworzenia projektorów?

Nie, Apollo jest silnikiem wykonawczym którzy działa w systemie operacyjnym użytkownika. jedną z korzyści plików instalacyjnych aplikacji Apollo jest to, że mają być bardzo małe nie wymagają włączania w to silnika wykonawczego do każdej wersji aplikacji Apollo. Pozwala też na integrowanie technologii (Flash, HTML, PDF) na niższym poziomie niż to było do tej pory możliwe. Ostatecznie pozwoli na dostarczenie bardziej standaryzowanego modelu bezpieczeństwa dla aplikacji Apollo i jej użytkowników.

Jaki model bezpieczeństwa dostarcza silnik Apollo?

Naszym celem jest dostarczenie takiej funkcjonalności, która zaspokoi potrzeby i oczekiwania programistów, aby tworzyć bezpieczne aplikacje. Obecnie pracujemy na modelem bezpieczeństwa, uaktualnimy FAQ jak będzie więcej informacji o tym.

Czy mogę tworzyć aplikacje uruchamiane z CD-ROM albo pracujące w trybie "kiosk"?

Będziesz mógł rozpowszechniać i instalować aplikacje Apollo z CD-ROM, chociaż obecnie nie planujemy uruchamiania aplikacji Apollo z CD-ROM bez uprzedniego zainstalowania na komputerze użytkownika silnika wykonawczego Apollo. Jest możliwe tworzenie aplikacji bazujących na Kioskach, chociaż to nie jest wiodącym przypadkiem użycia dla Apollo.

Czy aplikacje Macromedia Central będą uruchamiane w Apollo?

Nie. Aplikacje Central były tworzone przy utyciu ActionScript2 i wykorzystywały starsze wersje maszyny wirtualnej (AVM1) i odnosiły się do określonej architektury. Z tego powodu nie będzie można wykorzystywać aplikacje Central w Apollo.

Czy pliki Flash 8 i starsze będą mogły być uruchamiane w Apollo?

Tak. Jakikolwiek dostęp do API Apollo będzie wymagał zawartości we Flash poprzez ActionScript3 / AVM2 i z tego powodu pliki SWF w wersji 8 i niższej będą uruchamiane, ale nie będą miały dostępu API Apollo.

Nowości i informacje


Gdzie mogę wysłać informację o oczekiwanych cechach Apollo?

Możesz wysłać informację oczekiwaniach wobec Apollo pod adres wish-apollo@adobe.com.

Gdzie mogę znaleźć najświeższe newsy i informacje o Apollo?



Czy Apollo będzie omawiane na nadchodzących konferencjach?

Tak. Możesz znaleźć aktualną listę wydarzeń w których będą prezentowane możliwości Apollo. here.

Informacje o FAQ


Czy to jest oficjalne FAQ ?

Tak. To jest oficjalne FAQ o Apollo. Ono jest zarządzane przez Mike Chambers, który jest odpowiada za kontakty z programistami z Apollo w Adobe.

Jak mogę wysłać uwagi o tym FAQ?

Możesz wysłać uwagi do Mike Chambers.

poniedziałek, 19 lutego 2007

Nowe WPF/E February CTP

Warto poznawać nowe możliwości jakie tkwią w tej technologii Microsoftu. Microsoft utworzył serwis poświęcony tej technologii. Można też przeczytać jakie nowe możliwości zostały dodane do wersji lutowej WPF/E To tej wersji można przejrzeć materiał szkoleniowy WPF/E QuickStart i jak SDK (można to też ściągnąć przykłady i jak samo SDK z QuickStart)

WPF/E jest małą aplikacja która w sobie zawiera wszystko co jest potrzebne do obsługi RIA. Nie wymaga niczego więcej poza przeglądarkami internetowymi. To oznacza że w 1.1 MB instalatora pod Windows zawarto parser XML, interpreter JavaScriptu, kodeki video i grafiki rastrowej, wsparcie do grafiki wektorowej i jak animacyjnej. Występuje to jako wtyczka do Firefoxa i jako ActiveX. Imponujące prawda? Tylko, że ta wersja ma działać do pierwszego czerwca 2007 roku.

Ostatnio bardzo popularne stało się używanie efektu refleksji. Przykładem jest WPF/E Photo Viewer with Reflection Lestera Lobo. Oto kod źródłowy WPF/E Developer Content Team opisał tą technikę stosowania refleksji grafiki. (kod źródłowy). Ważną rzeczą jest obsługa trybu "siatki" w przypadku obsługi układu graficznego. Bryant Likes pokazał to na przykładzie swojego frameworka AJAX do obsługi WPF/E. Smargroth twórca WPF/E Visty dostarczył kolejne demo do obsługi grafiki 3D w WPF/E. Oto kod JS. Bryant użył WPF/E do zrobienia fajnego efektu typu matrix. Kod źródłowy JS i jak XAML Podobny efekt można zobaczyć tu. Chad Campbell pokazał jakie efekty można zrobić dzięki wykorzystaniu obsługi paska postępu ładowania i klipu wideo, tworząc puzzle z klipu wideo Oto jego kod żródłowy. Ważna cechą aplikacji AJAX i jak WPF/E jest obsługa drag and drop (kod żródłowy do pobrania). Tak więc WPF/E to obsługuje o czym opisano na blogu WPF/E Developer Content Team. Ciekawe możliwości WPF/E występują przy wykorzystaniu mushupów geograficznych. Ukazano to na przykładzie Virtual Earth Map (kod żródłowy). Interesującym przykładem zastosowania WPF/E jest osadzanie plików wideo (Windows Media Video) na stronach WWW o czym pisze Chandu Thota.

Głównym popularyzatorem WPF/E jest Mike Harsh W swoim blogu zawsze opisuje ciekawe przykłady zastosowań WPF/E.
Napisał sporo ciekawych przykładów.

Możliwości współpracy między Flashem a WPF/E są duże. Ukazał to Lee na tym przykładzie (kod źródłowy) i na innym przykładzie (kod źródłowy). Dzięki nowym możliwościom można rysować w WPF/E. Robby Ingebretsen pokazał taki przykład. Shawn Wildermuth tez ma swoje przykłady w WPF/E, przykłady są na jego stronie.

Mike Taulty tez dzielił się swoimi uwagami na temat WPF/E ( o animacji - kody źródłowe: przykład 1, przykład 2, przykład 3, przykład 4, o wideo przykład 5, przykład 6, przykład 7, przykład 8, o mushapie - przykład 9)

Adobe Digital Edition beta 3

Jak tworzyć dokumenty epub?

Najpierw trzeba utworzyć pliki dokumentów XHTML/
Potem zajmiemy się strukturą pliku epub. Plik .epub to jest skompresowany zestaw folderów i plików zawierający informacje o zawartości i sposobie jego wyświetlania.

Tworzymy plik opisujący co ma być zawarte w pliku .epub będzie to plik content.opf
Konstrukcja tego pliku zakłada że znamy standard OpenBook. W nim są dwa główne węzły metadata i manifest
Element metadata zawiera informacje opisujące dany dokument. Natomiast Element manifest opisuje zawartosć pliku epub.


<manifest>
<item id="ncx" href="toc.ncx" media-type="text/xml"/>
<item id="titlepage" href="titlepage.xhtml" media-type="application/xhtml+xml"/>
<item id="chapter01" href="chapter01.xhtml" media-type="application/xhtml+xml"/>
<item id="chapter02" href="chapter02.xhtml" media-type="application/xhtml+xml"/>
<item id="css" href="style.css" media-type="text/css"/>
<item id ="pt" href="page-template.xpgt" media-type="application/vnd.adobe-page-template+xml"/>
<item id="img01a" href="images/alice01a.gif" media-type="image/gif"/>
<item id="img02a" href="images/alice02a.gif" media-type="image/gif"/>

....
</manifest>

Najciekawsze sa pliki toc.ncx który informuje o strukturze rozdziałów.

A takze plik page-template.xpgt który jest szablonem XSLT Format opisującym wygląd przeglądania stron w układzie kolumnowym.