wtorek, 31 marca 2015

Platforma Windows 10 - cz.3

Kolejna odsłona platformy deweloperskiej w Windows 10. Mamy dwa bardzo ciekawe zagadnienia.

Po pierwsze. Pamiętamy jak wszystkim brakowało dłużej działających serwisów, a tym bardziej takich, z których mogłoby korzystać inne aplikacje Windows Store. W Windows 10 dostajemy możliwość wywoływania na żądanie background taska jednej aplikacji przez inne aplikacje!  To wręcz web serwisy, tyle że na urządzeniu. Pod spodem implementują nawet protokół REST!  Od siebie już dodam, że nasuwa mi się skojarzenie z serwisami Androida z opcją wywoływania na żądanie. 

Druga rzecz dotyczy skrzydła webowego dla platformy Windows. Widzimy tu politykę, która ucieszy tu web deweloperów z dziada pradziada, ale może wprawić w zadumę frakcję bardziej związaną z WinJS, z dotychczasowymi narzędziami, o których nie wspomniano nawet jednym słowem. A tymczasem wydano ostatnio WinJS 4.0 Preview, który przeewoluował do cross-przeglądarkowej biblioteki integrującej się oficjalnie z Angularem (dostarczane są wrappery) i nie tylko. Dodam, że z Blenda 2015 planowo usunięto projekty Windows Store w HTML5, odtąd mają wystarczyć narzędzia do aplikacji webowych w Visual Studio. Wracając do najnowszej prezentacji, widać koncentrację na nowej przeglądarce Spartan (mnóstwo nowych standardów!), zatarciu różnic pomiędzy web dewelopmentem w przeglądarce a aplikacją natywną, a także mocne wsparcie dla Apache Cordova.  Jak tutaj zdobyć elektorat webowy, ktory dziś jest zasadniczo “open source” ?  Trzeba dać możliwość wykorzystania tego, czego używają, minimalizując wysiłek integracji z Windows. Takie podejście wiąże się z wizją zapełnienia Windows Store treściami mało spójnymi wizualnie z Modern UI, ale zobaczymy.  Do tej pory technicznie było to w dużym stopniu możliwe, ale w Windows 10 dostajemy odmianę radykalną. Mam przyjemność mówić o tzw. hostowanych aplikacjach Web.  Polega to na tym, że stronę webową na zewnętrznym serwerze umieszczamy w Windows Store (a w zasadzie link do niej w manifeście szczątkowej aplikacji z samymi ikonami). Po opublikowanie strony w sklepie dostajemy możliwość wywoływania natywnego kodu lub Windows API. Całość aplikacji zachowujemy bez przeróbek, jedynie warunkowo możemy sprawdzić czy mamy obiekt Windows w Java Script i wtedy wywołujemy API np. kontakty. Czy nowa strategia się powiedzie?  Jak ktoś hejtuje Windows z założenia, to nie wiem, czy będzie miał motywację wzbogacać kod swojej strony Web o odwołania do API, płacąc za obecność w Windows Store. Ale przynajmniej będzie prościej, więc może więcej osób się skusi?  Pozwoliłoby to stworzyć  jedną aplikację Web, która byłaby hostowana i utrzymywana na naszym zewnętrznym serwerze. W wersji podstawowej każdy by ją sobie otwierał w przeglądarce, z wersji ekstra korzystaliby użytkownicy Windows.  Oczywiście Windows 10 będzie nadal wspierał natywne pakietowe aplikacje pisane w HTML5, a także aplikacje hybrydowe. Widać tutaj duży nacisk na integrację z Apache Cordova, w planach jest m.in budowa na enginie Spartana, natywna wydajność, dostęp do Cordova API z poziomu WebView, wsparcie dla Cordova Embedded, budowanie aplikacji Windows za pomocą narzędzi konsolowych i środowiska IDE.

 

Developer's Guide to Windows 10 Preview: (12) App Services

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

image

 

Developer's Guide to Windows 10 Preview: (13) Action Center

image

image

image

image

image

image

image

image

image

image

nowa funkcjonalność

image

image

image

image

 

Developer's Guide to Windows 10 Preview: (14) Evolving the Web Platform

image

Spartan - jeden, nowy silnik Microsoft EdgeHTML, zawsze aktualny, jedna przeglądarka na wszystkich urządzeniach z Windows

IE - dla starych stron, ActiveX-ów, …

nowy user-agent

image

image

image

image

image

image

image

image

demo: przeróbka aplikacji pakietowej na hostowanie strony

image

image

image

image

image

Aplikacje pakietowe / hybrydowe

image

image