SlideShare une entreprise Scribd logo
1  sur  34
Télécharger pour lire hors ligne
Sekcja zwłok hybrydy
Aplikacje HTML na mobilkach od kuchni
Aplikacje mobilne
- Aplikacje webowe
- Aplikacje hybrydowe
- Aplikacje natywne
Aplikacja internetowa
Program wykonywany i renderowany w
przeglądarce internetowej
Aplikacja natywna
Aplikacja napisana pod konkretną platformę
przy użyciu narzędzi (SDK) wydanych przez
twórców tej platformy.
Aplikacje mobilne
Aplikacja hybrydowa
(Mobilna) Aplikacja hybrydowa to program
zawierający elementy aplikacji webowej i
natywnej.
Aplikacja hybrydowa
Cechy:
- logika i interfejs w HTML+CSS+JS
- dostęp do komponentów natywnych
- jedna aplikacja eksportowana na wiele platform
- działanie w offline
- dostępne w sklepie z aplikacjami (App Store, Google
Play)
Architektura i działanie
Aplikacje hybrydowa
Aplikacja hybrydowa
Aplikacja hybrydowa
WebView/UIWebView - widok służący do wyświetlania
stron internetowych
Aplikacja hybrydowa
Aplikacja hybrydowa
Uwaga kod w Javie ;)
Przykład
Java
Przykład
HTML
Apache Cordova
Apache Cordova
Framework (zestaw API) do tworzenia aplikacji mobilnych
w oparciu o HTML+CSS+JS umożliwiający korzystanie z
natywnych komponentów i API danej platformy
Cordova
Obsługiwane platformy:
- Android
- iOS
- Windows Phone
- Blackbery
- Firefox OS
- Tizen
Cordova
Cordova
Cordova
Architektura
PROJEKT
HTML+CSS+JS
BUILD SYSTEM
PROJEKT
ANDROID
PROJEKT
iOS
Architektura
PROJEKT
Biblioteka
natywna
Aplikacja
HTML
Biblioteka
JavaScript
Klasy
natywne
Zalety
- jedna aplikacja, wiele platform
- dostęp do bogatej bazy bibliotek JS
- testowanie z poziomu przeglądarki
desktopowej, brak konieczności kompilacji
(na początku !)
Wady
- szybkość :(
- ogromna ilość urządzeń/ekranów
- czas zaoszczędzony na developmencie
pochłania testowanie
- ograniczenia i różnice poszczególnych
przeglądarek
Ograniczenia przeglądarek
Źródło : http://caniuse.com/#compare=ios_saf+8.1-8.3,android+4.1,bb+10,and_chr+42&compare_cats=HTML5
Przykład
NUS extra
Wyszukiwanie okazji i promocji.
Podsumowanie
Dla kogo?
- zespół z mocnym zapleczem webowym
- potrzeba wypuszczenia aplikacji na wiele
platform (w tym mało popularne)
- potrzeba wykorzystania hardware’u
urządzenia (GPS, akcelerometr)
- komponenty natywne nie dostarczają
decydujących funkcjonalności aplikacji
Na co uważać
- responsywny interfejs
- zgodność przeglądarek ze standardami
- dług technologiczny
- ryzyko odrzucenia aplikacji (App Store!)
“Dobrze zrobiona aplikacja hybrydowa powinna zachowywać się i wyglądać jak
aplikacja natywna”
Dziękuję za uwagę!

Contenu connexe

En vedette

En vedette (20)

TDD w iOS
TDD w iOS TDD w iOS
TDD w iOS
 
Varnish
VarnishVarnish
Varnish
 
Wielkie protokoły wielkich ludzi
Wielkie protokoły wielkich ludziWielkie protokoły wielkich ludzi
Wielkie protokoły wielkich ludzi
 
Design dla estetycznie ograniczonych
Design dla estetycznie ograniczonychDesign dla estetycznie ograniczonych
Design dla estetycznie ograniczonych
 
Deploy appki na iOS, czyli magia publikacji
Deploy appki na iOS, czyli magia publikacjiDeploy appki na iOS, czyli magia publikacji
Deploy appki na iOS, czyli magia publikacji
 
Confd - Uszanowanko Programowanko
Confd - Uszanowanko ProgramowankoConfd - Uszanowanko Programowanko
Confd - Uszanowanko Programowanko
 
Deployment z Ansible
Deployment z AnsibleDeployment z Ansible
Deployment z Ansible
 
Docker
DockerDocker
Docker
 
Dependency Injection w Androidzie
Dependency Injection w AndroidzieDependency Injection w Androidzie
Dependency Injection w Androidzie
 
Praktyczne porady na temat optymalizacji wydajności aplikacji tworzonych z u...
Praktyczne porady na temat optymalizacji wydajności aplikacji tworzonych z u...Praktyczne porady na temat optymalizacji wydajności aplikacji tworzonych z u...
Praktyczne porady na temat optymalizacji wydajności aplikacji tworzonych z u...
 
Wprowadzenie do języka Swift, czyli nowe podejście do programowania aplikacji...
Wprowadzenie do języka Swift, czyli nowe podejście do programowania aplikacji...Wprowadzenie do języka Swift, czyli nowe podejście do programowania aplikacji...
Wprowadzenie do języka Swift, czyli nowe podejście do programowania aplikacji...
 
PHP 7
PHP 7PHP 7
PHP 7
 
Pierwsza aplikacja na iOS, czyli z czym można się spotkać, co jest trudne i c...
Pierwsza aplikacja na iOS, czyli z czym można się spotkać, co jest trudne i c...Pierwsza aplikacja na iOS, czyli z czym można się spotkać, co jest trudne i c...
Pierwsza aplikacja na iOS, czyli z czym można się spotkać, co jest trudne i c...
 
O Electronie słów kilka
O Electronie słów kilkaO Electronie słów kilka
O Electronie słów kilka
 
Pi razy drzwi - o szacowaniu projektów
Pi razy drzwi - o szacowaniu projektówPi razy drzwi - o szacowaniu projektów
Pi razy drzwi - o szacowaniu projektów
 
Gulp.js - alternatywa do Grunta
Gulp.js - alternatywa do GruntaGulp.js - alternatywa do Grunta
Gulp.js - alternatywa do Grunta
 
Tester - przyjaciel czy wróg programisty?
Tester - przyjaciel czy wróg programisty?Tester - przyjaciel czy wróg programisty?
Tester - przyjaciel czy wróg programisty?
 
Angular 2.0 – Kochaj albo rzuć!
Angular 2.0 – Kochaj albo rzuć!Angular 2.0 – Kochaj albo rzuć!
Angular 2.0 – Kochaj albo rzuć!
 
Bitcoin - (nie)udany eksperyment?
Bitcoin - (nie)udany eksperyment?Bitcoin - (nie)udany eksperyment?
Bitcoin - (nie)udany eksperyment?
 
PSR-7 - HTTP message interfaces
PSR-7 - HTTP message interfacesPSR-7 - HTTP message interfaces
PSR-7 - HTTP message interfaces
 

Similaire à Sekcja zwłok hybrydy, czyli aplikacje HTML na mobilkach od kuchni

PLNOG 5: Janusz Dziemidowicz - OpenSocial w nk.pl
PLNOG 5: Janusz Dziemidowicz - OpenSocial w nk.pl PLNOG 5: Janusz Dziemidowicz - OpenSocial w nk.pl
PLNOG 5: Janusz Dziemidowicz - OpenSocial w nk.pl
PROIDEA
 
Seminarium - Tworzenie Aplikacji Mobilnych 2004
Seminarium - Tworzenie Aplikacji Mobilnych 2004Seminarium - Tworzenie Aplikacji Mobilnych 2004
Seminarium - Tworzenie Aplikacji Mobilnych 2004
Tomasz Cieplak
 

Similaire à Sekcja zwłok hybrydy, czyli aplikacje HTML na mobilkach od kuchni (20)

3 możliwości kodowania aplikacji mobilnych. Zalety i wady
3 możliwości kodowania aplikacji mobilnych. Zalety i wady3 możliwości kodowania aplikacji mobilnych. Zalety i wady
3 możliwości kodowania aplikacji mobilnych. Zalety i wady
 
Przyszłość ma na imię Mobile – testowanie i automatyzacja testów aplikacji mo...
Przyszłość ma na imię Mobile – testowanie i automatyzacja testów aplikacji mo...Przyszłość ma na imię Mobile – testowanie i automatyzacja testów aplikacji mo...
Przyszłość ma na imię Mobile – testowanie i automatyzacja testów aplikacji mo...
 
Projektowanie i programowanie aplikacji nowej generacji
Projektowanie i programowanie aplikacji nowej generacjiProjektowanie i programowanie aplikacji nowej generacji
Projektowanie i programowanie aplikacji nowej generacji
 
Automatyzacja testów oprogramowania dla urządzeń mobilnych
Automatyzacja testów oprogramowania dla urządzeń mobilnychAutomatyzacja testów oprogramowania dla urządzeń mobilnych
Automatyzacja testów oprogramowania dla urządzeń mobilnych
 
Aplikacje mobilne Android, iOS, Windows Phone w Ideo Sp. z o.o.
Aplikacje mobilne Android, iOS, Windows Phone w Ideo Sp. z o.o.Aplikacje mobilne Android, iOS, Windows Phone w Ideo Sp. z o.o.
Aplikacje mobilne Android, iOS, Windows Phone w Ideo Sp. z o.o.
 
Polskie aplikacje HbbTV wykonane przez hybra.tv w 2014 roku
Polskie aplikacje HbbTV wykonane przez hybra.tv w 2014 rokuPolskie aplikacje HbbTV wykonane przez hybra.tv w 2014 roku
Polskie aplikacje HbbTV wykonane przez hybra.tv w 2014 roku
 
Współdzielenie kodu aplikacji Windows Phone i Windows 8
Współdzielenie kodu aplikacji Windows Phone i Windows 8Współdzielenie kodu aplikacji Windows Phone i Windows 8
Współdzielenie kodu aplikacji Windows Phone i Windows 8
 
Jak zostać mobile deweloperem w 1 dzień
Jak zostać mobile deweloperem w 1 dzieńJak zostać mobile deweloperem w 1 dzień
Jak zostać mobile deweloperem w 1 dzień
 
Barbara Fusińska, ABC architektury aplikacji mobilnych
Barbara Fusińska, ABC architektury aplikacji mobilnychBarbara Fusińska, ABC architektury aplikacji mobilnych
Barbara Fusińska, ABC architektury aplikacji mobilnych
 
RIA - przyszłość aplikacji internetowych
RIA - przyszłość aplikacji internetowychRIA - przyszłość aplikacji internetowych
RIA - przyszłość aplikacji internetowych
 
Kivy na Androidzie
Kivy na AndroidzieKivy na Androidzie
Kivy na Androidzie
 
Konferencja Intratic Przyjazny SharePoint, Krzysztof Lis, Paweł Walczewski, N...
Konferencja Intratic Przyjazny SharePoint, Krzysztof Lis, Paweł Walczewski, N...Konferencja Intratic Przyjazny SharePoint, Krzysztof Lis, Paweł Walczewski, N...
Konferencja Intratic Przyjazny SharePoint, Krzysztof Lis, Paweł Walczewski, N...
 
Konferencja Intratic Przyjazny SharePoint, Krzysztof Lis, Paweł Walczewski - ...
Konferencja Intratic Przyjazny SharePoint, Krzysztof Lis, Paweł Walczewski - ...Konferencja Intratic Przyjazny SharePoint, Krzysztof Lis, Paweł Walczewski - ...
Konferencja Intratic Przyjazny SharePoint, Krzysztof Lis, Paweł Walczewski - ...
 
Responsive Web Design - Michał Rachowski Squiz
Responsive Web Design - Michał Rachowski SquizResponsive Web Design - Michał Rachowski Squiz
Responsive Web Design - Michał Rachowski Squiz
 
Tworzenie aplikacji typu Rich Clients za pomocą Eclipse 4 RCP
Tworzenie aplikacji typu Rich Clients za pomocą Eclipse 4 RCPTworzenie aplikacji typu Rich Clients za pomocą Eclipse 4 RCP
Tworzenie aplikacji typu Rich Clients za pomocą Eclipse 4 RCP
 
PLNOG 5: Janusz Dziemidowicz - OpenSocial w nk.pl
PLNOG 5: Janusz Dziemidowicz - OpenSocial w nk.pl PLNOG 5: Janusz Dziemidowicz - OpenSocial w nk.pl
PLNOG 5: Janusz Dziemidowicz - OpenSocial w nk.pl
 
Krzysztof Ścira: REAL testing of hybrid mobile apps.
Krzysztof Ścira: REAL testing of hybrid mobile apps.Krzysztof Ścira: REAL testing of hybrid mobile apps.
Krzysztof Ścira: REAL testing of hybrid mobile apps.
 
Single Page Applications przy wykorzystaniu REST
Single Page Applications przy wykorzystaniu RESTSingle Page Applications przy wykorzystaniu REST
Single Page Applications przy wykorzystaniu REST
 
Paleta możliwości web developera
Paleta możliwości web developeraPaleta możliwości web developera
Paleta możliwości web developera
 
Seminarium - Tworzenie Aplikacji Mobilnych 2004
Seminarium - Tworzenie Aplikacji Mobilnych 2004Seminarium - Tworzenie Aplikacji Mobilnych 2004
Seminarium - Tworzenie Aplikacji Mobilnych 2004
 

Plus de The Software House

Plus de The Software House (20)

Jak kraść miliony, czyli o błędach bezpieczeństwa, które mogą spotkać również...
Jak kraść miliony, czyli o błędach bezpieczeństwa, które mogą spotkać również...Jak kraść miliony, czyli o błędach bezpieczeństwa, które mogą spotkać również...
Jak kraść miliony, czyli o błędach bezpieczeństwa, które mogą spotkać również...
 
Uszanowanko Podsumowanko
Uszanowanko PodsumowankoUszanowanko Podsumowanko
Uszanowanko Podsumowanko
 
Jak efektywnie podejść do certyfikacji w AWS?
Jak efektywnie podejść do certyfikacji w AWS?Jak efektywnie podejść do certyfikacji w AWS?
Jak efektywnie podejść do certyfikacji w AWS?
 
O co chodzi z tą dostępnością cyfrową?
O co chodzi z tą dostępnością cyfrową?O co chodzi z tą dostępnością cyfrową?
O co chodzi z tą dostępnością cyfrową?
 
Chat tekstowy z użyciem Amazon Chime
Chat tekstowy z użyciem Amazon ChimeChat tekstowy z użyciem Amazon Chime
Chat tekstowy z użyciem Amazon Chime
 
Migracje danych serverless
Migracje danych serverlessMigracje danych serverless
Migracje danych serverless
 
Jak nie zwariować z architekturą Serverless?
Jak nie zwariować z architekturą Serverless?Jak nie zwariować z architekturą Serverless?
Jak nie zwariować z architekturą Serverless?
 
Analiza semantyczna artykułów prasowych w 5 sprintów z użyciem AWS
Analiza semantyczna artykułów prasowych w 5 sprintów z użyciem AWSAnaliza semantyczna artykułów prasowych w 5 sprintów z użyciem AWS
Analiza semantyczna artykułów prasowych w 5 sprintów z użyciem AWS
 
Feature flags na ratunek projektu w JavaScript
Feature flags na ratunek projektu w JavaScriptFeature flags na ratunek projektu w JavaScript
Feature flags na ratunek projektu w JavaScript
 
Typowanie nominalne w TypeScript
Typowanie nominalne w TypeScriptTypowanie nominalne w TypeScript
Typowanie nominalne w TypeScript
 
Automatyzacja tworzenia frontendu z wykorzystaniem GraphQL
Automatyzacja tworzenia frontendu z wykorzystaniem GraphQLAutomatyzacja tworzenia frontendu z wykorzystaniem GraphQL
Automatyzacja tworzenia frontendu z wykorzystaniem GraphQL
 
Serverless Compose vs hurtownia danych
Serverless Compose vs hurtownia danychServerless Compose vs hurtownia danych
Serverless Compose vs hurtownia danych
 
Testy API: połączenie z bazą danych czy implementacja w pamięci
Testy API: połączenie z bazą danych czy implementacja w pamięciTesty API: połączenie z bazą danych czy implementacja w pamięci
Testy API: połączenie z bazą danych czy implementacja w pamięci
 
Jak skutecznie read model. Case study
Jak skutecznie read model. Case studyJak skutecznie read model. Case study
Jak skutecznie read model. Case study
 
Firestore czyli ognista baza od giganta z Doliny Krzemowej
Firestore czyli ognista baza od giganta z Doliny KrzemowejFirestore czyli ognista baza od giganta z Doliny Krzemowej
Firestore czyli ognista baza od giganta z Doliny Krzemowej
 
Jak utrzymać stado Lambd w ryzach
Jak utrzymać stado Lambd w ryzachJak utrzymać stado Lambd w ryzach
Jak utrzymać stado Lambd w ryzach
 
Jak poskromić AWS?
Jak poskromić AWS?Jak poskromić AWS?
Jak poskromić AWS?
 
O łączeniu Storyblok i Next.js
O łączeniu Storyblok i Next.jsO łączeniu Storyblok i Next.js
O łączeniu Storyblok i Next.js
 
Amazon Step Functions. Sposób na implementację procesów w chmurze
Amazon Step Functions. Sposób na implementację procesów w chmurzeAmazon Step Functions. Sposób na implementację procesów w chmurze
Amazon Step Functions. Sposób na implementację procesów w chmurze
 
Od Figmy do gotowej aplikacji bez linijki kodu
Od Figmy do gotowej aplikacji bez linijki koduOd Figmy do gotowej aplikacji bez linijki kodu
Od Figmy do gotowej aplikacji bez linijki kodu
 

Sekcja zwłok hybrydy, czyli aplikacje HTML na mobilkach od kuchni