środa, grudnia 22, 2010

ChromoPaskudztwo ;-) - czyli, pisanie aplikacji dla Chrome to pikuś :-)

Tak się dziś przez chwilę bawiłem i okazuje się, że tworzenie aplikacji dla Chrome, takiej instalowanej na komputerze nie jest takie trudne :-)

Wziąłem na warsztat moją starą zabawkę, która miała mi niby pomagać w pilnowaniu rzeczy do zrobienia. Ten coś był aplikacją HTA, używającą specyficznych dla IE obiektów do dostępu do lokalnych plików.
Postanowiłem przenieść to do Chrome i okazało się, że wszystko zajęło może 30 minut ;-)

Taką "pakowalną" aplikację tworzy się podobnie do rozszerzenia, z tym, że aplikacja ma w manifeście deklarację tego gdzie znajduje się "strona główna" aplikacji i nie ma akcji [czyli stron ;-)] dla przeglądarki [czyli stronki, która pojawia się po sklikaniu ikonki w zasobniku obok menu] i strony [czyli tego co pokazuje się po sklikaniu ikonki w pasku adresu, np. gwiazdki, której przyciśnięcie pozwala na dodanie strony do zakładek].

Fajne jest to, że aplikacja może "łazić" po sieci, nie trzeba kodu za to odpowiedzialnego wyrzucać do tła [trudno tak to tłumaczyć ;-) chodzi o stronę nazywaną w dokumentacji Background page, co bardziej niż tło oznacza tutaj zaplecze].

Lokalne pliki zastąpiłem przy pomocy localStorage, co wymagało tylko lekkich zmian w kodzie.
Aplikacja ma też możliwość używania lokalnie SQLa, ale tutaj nie próbowałem i nie wiem czy warto, z racji tego, że to się może jeszcze zmieniać [W3C czy jak im tam, wstrzymało prace nad tym bo wszystkie implementacje bazowały na SQLLite].

Wg. mnie w przypadku tych pakowanych apliakcji istotne jest to by one działały off-line, a sieci używały raczej do synchronizacji niż do "świadczenia usług".

Aplikacja może być kartą i panelem, różnica jest taka, że karta otwiera się normalnie w przeglądarce, a panel poza nią.



Tutaj ta moja "aplikacyjka" jako panel.

Jak rozumiem w Chrome OS panele trzymane są przy dole ekranu i układane obok siebie, pod Windows są po prostu otwierane. Mamy jedynie kontrolę nad ich rozmiarem.
Na moim Windows 7 panele zawsze otwierają się tak, że ich górny lewy róg jest w górnym lewym rogu ekranu głównego :-)

Ogólnie stwierdzam, że ma to potencjał :-)
Teraz trzeba go tylko zacząć wykorzystywać ;-)

Jakby ktoś ciekawy jak to to wygląda [w środku też], to tutaj jest "instalka". Co do kodu to powstał lata temu i się do niego nie przyznaje ;-) [widzę, że był pisany jeszcze w czasach gdy nie używałem tylko angielskich nazw dla elementów w kodzie].


Podobne postybeta
YouWave
Nexus 4 - pierwsze wrażenia
Czy się stoi czy się siedzi.... kamerka w laptopie jako detektor tego czy biurko jest w trybie stand czy sit ;-)
ToDo od Trello jako "oddzielna aplikacja"
Chrome OS, Chrome2Chrome i w ogóle Chrome ;-)