Dla developerów‎ > ‎

Aktualności

Konferencja 33rd Degree 2014

opublikowane: 11 kwi 2014, 23:48 przez Przemysław Hojnacki   [ zaktualizowane 11 kwi 2014, 23:51 ]

33rd Degree Kraków

33rd Degree Conference

    W dniach 9-11 czerwca w Krakowie odbędzie się warta wzięcia udziału konferencja 33rd Degree. Wśród mówców wystąpią między innymi Adam BienVenkat Subramaniam, Mariusz Sieraczkiewicz czy Sławomir Sobótka. Pełna lista tematów znajduje się tutaj.

Wybory mobilnego developera

opublikowane: 11 kwi 2014, 23:01 przez Przemysław Hojnacki   [ zaktualizowane 12 kwi 2014, 00:27 ]

  

Mobilna aplikacja przeglądarkowa


 W specyfikacji wymagań napisano „Aplikacja mobilna mającą działać na wszystkich dostępnych systemach operacyjnych”. Developer dostawał gorączki (ma stać się człowiekiem-orkiestrą):
  1. Android – napisze to w Javie
  2. iOS – musi znać Objective C,
  3. Windows Phone – jeszcze .NET,
  • przydałyby się biblioteki związane z implementacją w tych systemach

    Obsłuży wtedy tylko 3 najbardziej popularne systemy. Do tego musi złamać zasadę DRY, bo interfejs użytkownika napisze 3 razy ten sam. A może wynajmie kilku specjalistów?

    Jak spełnić opisywane wymaganie pisząc kod jeden raz pod wszystkie możliwe systemy?


Popularne mobilne systemy operacyjne

    Każdy przyzwoity system operacyjny jest wyposażony w przeglądarkę internetową współpracującą ze standardem HTML5. Można więc uruchamiać odchudzone i dostosowane do małych ekranów aplikacje przeglądarkowe. Takie mobilne aplikacje przybierają ostatnio na znaczeniu. Nie trzeba niczego instalować, aktualizować, a przede wszystkim działają one praktycznie na wszystkich systemach operacyjnych. Do tego w specyfikacji HTML5 dostajemy dostęp do aparatu fotograficznego urządzenialokalizacji geograficznej użytkownika (Geolocation API) oraz tzw. Web Storage dzięki któremu przeglądarka może zapisywać dane na urządzeniu np. w trybie offline.

    Aplikację przeglądarkową można dodać do ekranu głównego aplikacji. Od tego momentu odczucie w korzystaniu z niej nie różni się zasadniczo od zwykłej instalowanej w systemie aplikacji:

Dodawanie skrótu do URL na iOS


Dodawanie skrótu do URL na Android


Próby implementacji aplikacji przeglądarkowych na urządzenia mobilne podejmowali między innymi Facebook i LinkedIn. Skoro rozwiązanie jest takie uniwersalne dlaczego koniec końców autorzy stworzyli aplikacje natywne?

Gdy stajemy przed takim wyborem warto zastanowić się nad następującymi zagadnieniami:


Czy aplikacja:

  Natywna  

  Mobilna aplikacja przeglądrkowa  

...odwołuje się do wielu zasobów sprzętowych urządzenia mobilnego?

Nieograniczony dostęp do elementów: akcelerometr, czujnik położenia, czujnik oświetlenia, czujnik zbliżeniowy, aparat, GPS, telefon, karta pamięci, książka adresowa, SMS, wielowątkowość, powiadomienia, kalendarz.

Dostęp do aparatu, lokalizacji geograficznej, Web Storage (opcja zapisu danych przez przeglądarkę gdyby znikło połączenie z siecią.

...będzie miała wielu użytkowników jednocześnie?

Z racji tego, że każdy klient ma swoją niezależną aplikację na komórce / tablecie problem nie istnieje

Nawigacja po aplikacji generuje ruch po stronie serwera – w przypadku rosnącej liczby użytkowników trzeba pomyśleć o klastrowaniu

...wymaga krótkiego czasu pierwszego dostępu?

Ten czas to znalezienie, pobranie i uruchomienie aplikacji.

Krótszy czas pierwszego dostępu – uruchomienie przeglądarki i wpisanie URL strony mobilnej (opcjonalnie utworzenie skrótu na ekranie głównym)

...powinna być dystrybuowana w sklepie (Google Play / AppStore) np. w celach zarobkowych.

Opcja sklepu dostępna.

Brak centralnego punktu zakupu aplikacji. Dostarczamy usługę. 

Alternatywą jest aplikacja hybrydowa, która umożliwi udostępnienie w sklepie (wyjaśnione później)

...będzie używana przez klientów ze stałym dostępem do internetu

Możliwe przeglądanie zawartości wcześniej pobranej offline.

Trzeba się liczyć z koniecznością posiadania dostępu do Internetu. 

Możliwy jednak jest zapis do Web Storage (zapis offline -> później synchronizacja).

...będzie oceniana ze względu na szybkość działania (miodność)

Interfejs użytkownika jest natywny - generowany w komórce / tablecie. Maksymalna wydajność.

UI jest podawane po każdym żądaniu przeglądarki użytkownika przez zdalny serwer. Istnieje narzut sieciowy.

...będzie wymagała powiadomień (działanie w tle)

Dostępne

Server Push dostępny ale tylko w oknie przeglądarki. Poza przeglądarką aby uzyskać powiadomienie systemowe trzeba będzie doinstalować aplikację np. Pushover.


    Rzeczywistości nie jest zero-jedynkowa. Oprócz wyboru pomiędzy dwoma wariantami są jeszcze hybrydowe aplikacje. Pomysł polega na osadzeniu kontentu webowego w aplikacji natywnej. Korzystamy wówczas z dobrodziejstw natywnych dodatkowo mając dostęp do kontentu webowego. Specjaliści szacują że do 2015 roku 80% aplikacji będzie hybrydowa

    Jeśli planujesz implementację aplikacji przeglądarkowej zainwestuj w mobilną webową aplikację już teraz. Utrzymywanie oddzielnie części webowej i mobilnej będzie kosztowne gdy ta mobilna powstanie długo po webowej. Zaprojektuj komponenty tak aby były przydatne do wielokrotnego użycia, weź pod uwagę skalowalność interfejsu użytkownika.


Przykłady implementacji:

    Jeżeli zależy Ci na szybkiej implementacji aplikacji mobilnej polecam skorzystać z gotowych frameworków do jej zbudowania. Może to być Sencha Touch, Kendo UI czy też szkielet, który ja wybrałem - Vaadin TouchKit z racji jego prostoty.

    Przykładowa aplikacja oparta na TouchKit'ie - Parking Demo zawiera zaimplementowane elementy takie jak położenie geograficzne klienta, obsługa aparatu fotograficznego, tryb offline, mapa, wykresy.


Java Developer Days 2012

opublikowane: 28 paź 2012, 05:46 przez Przemysław Hojnacki   [ zaktualizowane 29 paź 2012, 15:45 ]

JDD 2012


W dniach 25-26 października w Krakowie odbyła się konferencja JDD 2012. Na konferencji zaprezentowano kilka ciekawych tematów m.in.:

  1. 1. Naturalny porządek refaktoryzacji

Schemat pięciu kroków które prowadzą do refaktoryzacji (zmiany postaci) kodu z nieczytelnego aż po czysty. Szczegóły pomysłu opiszę wkrótce.

  1. 2. Jak wychować aplikację webową

Zastosowanie JBehave wraz z Selenium. Użycie wzorca Given-When-Then do tworzenia historyjek użytkownika dotyczących interakcji z interfejsem graficznym. Historyjki są testowalne (wyklikiwane) z automatu przez Selenium.

3. Bezpieczeństwo frameworków WEBowych na przykładzie ataku 'Cross-site scripting'

XSS jest atakiem, który polega na wstrzyknięciu niebezpiecznego kodu w zawartość aplikacji webowej (np. poprzez web request). Od tego momentu skrypt taki może wykonać się po stronie klienta (przeglądarka) mając dostęp do ciasteczek, tokenów sesji lub innych wrażliwych danych przechowywanych przez przeglądarkę w kontekście danej witryny.
XSS jest obecnie drugim co do częstości występowania atakiem na serwisy internetowe.

4. Microbenchmarking

Przystosowanie maszyny wirtualnej (opcje) do wykonywania kodu w optymalny sposób. Dostaliśmy od autora m.in. linki do trzech frameworków:
Poza tym można było posłuchać o ostatnio modnym BDD, DDD czy też TDD i innych ciekawych zagadnieniach.



Google I/O 2012 na żywo

opublikowane: 27 cze 2012, 03:13 przez Przemysław Hojnacki   [ zaktualizowane 28 cze 2012, 08:12 ]

W dniach 27-29 czerwca w San Francisco Google organizuje konferencję nie tylko dla developerów ale też dla łowców nowinek technologicznych. Ci którzy nie załapią się na konferencję mogą śledzić ją na żywo w Internecie.

Wśród tematów znajdą się Android, Chrome, publikowanie aplikacji w Google Play, nowy Android 4.1 Jelly Bean, telefony, tablety i nowinki technologiczne.

Transmisja rozpocznie się dziś o godzinie 18:30.

Google I/O 2012



Processing z generatorem do Android'a

opublikowane: 20 maj 2012, 11:40 przez Przemysław Hojnacki   [ zaktualizowane 20 maj 2012, 12:03 ]

Processing to język programowania oparty o Javę. Może generować aplikacje na platformy takie jak Android i JavaScript). Processing to także IDE (Zintegrowane Środowisko Programistyczne). Autorami Processingu są Ben Fry i Casey Reas (opierali się oni m.in. o specyfikację języka programowania Design by Numbers autorstwa Johna Maeda'y). Pierwsze wersje języka ujrzały światło dzienne w 2001 roku. W tej chwili Processing jest projektem rozwijanym przez międzynarodowy zespół wolontariuszy. Strona domowa Processingu to http://processing.org.

Na portalu Narodowego Instytutu Audiowizualnego nina.gov.pl na wolnej licencji Creative Commons udostępniony został pierwszy w Polsce wideo-kurs programowania w języku Processing, wykorzystywanym m.in. do tworzenia animacji, instalacji interaktywnych, wizualizacji czy projektowania graficznego. Kurs skierowany jest przede wszystkim do artystów i projektantów, ale także do wszystkich, którzy chcą nauczyć się podstaw programowania, poszerzając swoje kwalifikacje.
Kurs dostępny jest pod adresem:

Processing

ArtKod



1-5 of 5