====== Sencha Touch ====== ===== Możliwości ===== - Zapoznaj się z [[http://docs.sencha.com/touch/2.3.0/touch-build/examples/kitchensink/index.html/|kuchennym zlewem]]¹ [[http://www.sencha.com/products/touch/|Senchy]]. - Zauważ, że aplikacja nie działa na IceWeasel (Firefox/Thunderbird/Seamonkey/Waterfox/dowolne [żywioł]+[zwierzę]). Wyciągnij wniosek na temat rynku przeglądarek w środowiskach mobilnych. - Otwórz aplikację na różnych urządzeniach/w różnych przeglądarkach bazujących na WebKit; czy dostrzegasz różnice w interfejsie? - Przejrzyj dostępne komponenty i porównaj kod potrzebny do ich implementacji (przycisk 'Source') z natywnym kodem Javy. * Jakie są przewagi kodu Senchy? * Jeżeli jakieś znalazłeś, zastanów się, czemu rynek jest niezmienne zdominowany przez aplikacje natywne. * Przejrzyj alternatywne rozwiązania międzyplatformowe [[http://docs.xamarin.com/guides/cross-platform/getting_started/introduction_to_mobile_development/|Xamarin]], [[http://www.robovm.org/index.html|RoboVM]]. [[http://phonegap.com/about/|phonegap]], [[http://pl.wikipedia.org/wiki/C_%28j%C4%99zyk_programowania%29|C]]/[[http://pl.wikipedia.org/wiki/C++|C++]]². Czy któreś z nich wydaje się być pozbawione wad Senchy? ¹ //Kitchen Sink, used in Software development to denote a permanent, ever growing test and demo environment which showcases all the functionalities of a software product// [[http://en.wikipedia.org/wiki/Kitchen_sink|en.wikipedia.org]] ² [[http://stackoverflow.com/questions/2455372/windows-phone-7-and-native-c-cli|blame MS]] ===== Wykorzystanie dla wersji Cmd < 5 ==== - Proszę pobrać i zainstalować: * [[http://www.sencha.com/products/touch/download/sencha-touch-2.3.1/3015|Senchę Touch 2 GPL]] - Następnie, korzystając z linii komend, wygenerować przykładową aplikację:\\ ''sencha -sdk <ścieżka_do_sdk_senchy> generate app '' - Do uruchomienia aplikacji na urządzeniu wymagany jest klucz do jej podpisania:\\ ''keytool -genkey -v -keystore .keystore -alias -keyalg RSA -keysize 2048 -validity 10000'' - Kolejnym krokiem jest zmiana konfiguracji budowania aplikacji, znajdująca się w pliku ''packager.json'' ([[http://docs.sencha.com/touch/2.3.0/#!/guide/native_packaging|dowiedz się więcej]]), najważniejsze pola to: * "applicationId" - musi zawierać informacje o przestrzeni nazw, tj. musi zawierać kropeczkę, np. "jestem.super"; * "platform" - powinno mieć wartość "Android"; * numer używanego API w Androidzie; * "certificatePath" - powinno zawierać względną ścieżkę do wygenerowanego klucza; * "certificateAlias" - alias wygenerowanego klucza; * "certificatePassword" - hasło do wygenerowanego klucza; * "sdkPath" - ścieżka do SDK Androida, (np. C:\\Program Files\\...); * "androidAPILevel" - numer API, którego chcemy użyć przy budowaniu aplikacji (musi być zainstalowane w systemie, numer 8 wygląda całkiem nieźle); - Aplikacja budowana jest poleceniem:\\ ''sencha app build native''.\\ Zbudowana binarka o rozszerzeniu ''.apk'' powinna znaleźć się w katalogu\\ ''build/native-package-mobile//packager.json''. - W celu instalacji aplikacji na podłączonym urządzeniu korzystamy z komendy\\ ''adb install '',\\ w razie problemów usuwamy poprzez\\ ''adb uninstall '' - Po uruchomieniu przykładowej aplikacji na urządzeniu, kolejnym zadaniem jest uruchomienie jednego z przykładów dołączonych do SDK Senchy. Wszystkie powinny znajdować się w katalogu ''<ścieżka_do_sdk_senchy>/examples''. Polecane (i sprawdzone) są trzy z nich: * particles - pokazujący niesamowite (czy aby na pewno?) możliwości graficzne Senchy; * kitchensink - dla porównania z wersją webową; * device - pokazujący, do czego może dobrać się aplikacja Senchy w systemie. - Uwagi do pkt. 7: * aktualna wersja narzędzi linii komend od Senchy jest nowsza od przykładów, aktualizowanie przykładów odbywa się poprzez wywołanie\\ ''sencha app upgrade'' * interfejs TouchWiz na urządzeniach nie potrafi przeżyć sytuacji, gdy aplikacja nie ma ikony (w razie braku ikon w przykładzie można je skopiować z wygenerowanego wcześniej programu) * zbudowane aplikacje znajdują się w katalogu ''<ścieżka_do_sdk_senchy>/built_examples'' - Jeżeli ktoś dotarł aż tutaj i jeszcze ma czas, może spróbować napisać od zera własną aplikację według [[http://docs.sencha.com/touch/2.3.0/#!/guide/first_app|tutoriala]].