ripple-logo-squareWitam po świątecznym wypoczynku. Niecierpliwiliście się? Mam taką nadzieję. Zatem do dzieła, a nasze dzisiejsze dzieło zwie się Ripple Emulator. Sama nazwa może nie nakierować osób, które nie miały z nim styczności. Dlatego zacznijmy od opisania narzędzia, które pod swoje skrzydła niedawno wziął Apache. Piękny opis znajdziecie na stronie Apache Ripple, ja jednak pozwolę sobie na parę zdań wstępu. Otóż dobrze zintegrowane środowisko programistyczne, przygotowane do tworzenia aplikacji PhoneGap, wiąże się testowaniem wyniku naszych prac kodowania na wirtualnym emulatorze urządzenia mobilnego i/lub na rzeczywistym urządzeniu – smartfonie lub tablecie. Ekstra, ale czy to jest wszystko, czego można oczekiwać? Jak się domyślacie – nie! Logicznie rzecz ujmując – PhoneGap = Html5+JS+CSS3 – a to nasuwa pytanie: Dlaczego zatem nie można byłoby testować w przeglądarce? I słusznie, wystarczy odpowiednia aplikacja, która pozwoli symulować ekran urządzenia mobilnego i jego specyficzne funkcje. To wszystko zapewnia Apache Ripple, który jest obecnie w wersji rozwojowej (Beta) i znajduje się w inkubatorze. Przydatne, naprawdę przydatne. 

Ripple pozwala korzystać z GPS, akceleratora, sieci. Jest to niebagatelne udogodnienie w testowaniu. Szybko można zmienić ułożenie z horyzontalnego na wertykalne i badać różnice na przykład projektując aplikację zgodnie z zasadami  Responsive Web Design. Co jednak najważniejsze, jest bogata liczba wspieranych urządzeń od smartfonów niskiej rozdzielczości, po tablety. Narzędzie działa jako wtyczka do przeglądarki Chrome … i stanowi niezbędnik programisty PhoneGap.

Posiadając aplikację lokalnie uruchamiamy Chrome z odpowiednimi parametrami. Albo modyfikując punkt (element) docelowy Gooble Chrome w menu start, albo zwyczajnie w wierszu poleceń konsoli Windows:

start chrome –enable-extensions –allow-file-access-from-files –disable-web-security

Powoduje to umożliwienie uruchamiania stron lokalnie z włączonymi wtyczkami, pozwalając jednocześnie na korzystanie w publicznych serwisów – np. do pobierania zasobów. W przeciwnym razie, gdy skorzystamy z webserwisów jedyne co uzyskamy, to błąd Same Origin Policy. Trudno się temu dziwić, skoro faktycznie ma miejsce.

Poniżej przedstawiam dwa zrzuty ekranu, pokazujące wtyczkę Apache Ripple w trakcie działania.

Rys. A

Rys. A

Rys. B

Rys. B

 

Podczas uruchamiania aplikacji w Ripple Emulatorze (po uruchomieniu strony internetowej z menu kontekstowego wybieramy Ripple Emulator -> Enable lub korzystamy z ikonki rozszerzenia obok paska adresu Chrome) możecie napotykać na alerty wewnętrzne pokroju:

Rys. C

Rys. C

które należy zignorować. Bardziej ambitni programiści mogą pokombinować, by okienko się nie pojawiało 🙂

Natomiast w przypadku alertów JavaScript, łatwo radzimy sobie przez blokowanie okienek (patrz Rys. E)

Rys. D

Rys. D

 

Rys. E

Rys. E

Związane są one z problemami w uzyskaniu dostępu do określonych zasobów urządzenia. Nie jest to dziwne skoro korzystamy z emulatora. Pozdrawiam!