Cross-platformowe aplikacje mobilne tworzone w oparciu o framework Sencha Touch 2 @ Mobilization^2, Łódź

Marcin Zajkowski
Marcin ZajkowskiWspółwłaściciel w SICC, Specjalista Umbraco & .NET, PedagoGEEK w WOW School, Konsultant i Prelegent IT at SICC
Cross-platformowe
aplikacje mobilne
tworzone w oparciu o framework:
Sencha Touch 2
Marcin Zajkowski @ Mobilization^2, 2012 r.
kontakt: m.zajkowski@sicc.pl, @zajkowskimarcin
Kim jestem? Czym się zajmuję?
•
•
•
•
•
•

Absolwent Informatyki PB (Lipiec 2012)
~3 lata doświadczenia jako programista .NET
Microsoft Szkoła Nowych Technologii – Trener
SICC.pl – współwłaściciel, programista
MyślMobilnie.pl - ???
Współlaureat głównej nagrody fundowanej przez BPN-T w
konkursie „Mój pomysł mój biznes 2012”
Responsywne

VS

Dedykowane /
Wieloplatformowe
Chcę mobilną aplikację – jaka platforma?!
www.PhoneGap.com
Alternatywy
• Corona (iOS & Android)
– 199$ rocznie za jeden system operacyjny
– 349$ rocznie za pakiet obu systemów

• RhoMobile (iOS, Android, RIM, WM, WP7)
– Darmowy (licencja MIT)
– Rhodes (open-source, Ruby-based framework)
• MVC
• „true native apps”

• Appcelerator Titanium (iOS & Android)
• Inne…
PhoneGap features
Zalety PhoneGap’a
•
•
•
•
•
•

„Nitobi has been required by Adobe”
OpenSource (Javascript) i za darmo
Dostęp do natywnych cech platform / smartfonów
PhoneGap Build
Masa gotowych pluginów
COMMUNITY
Wieloplatformowe aplikacje mobilne
• Oparte na standardach webowych (dobrze znanych wszystkim
programistom – prawie )
• Niezalezne od oprogramowania i producenta sprzętu
• „Future is in your browser” (http://caniuse.com)
• WODA i WORA – napisane raz a dobrze (łatwiejszy serwis,
konserwacja, obsługa błędów)
Proces tworzenia cross-platformowej aplikacji
HTML5 = HTML
+ CSS3 + JS

Wybrany
framework (np.
Sencha Touch)

Wieloplatformowość

PhoneGap /
alternatywa

Narzędzie
developerskie /
PhoneGap Build

Wdrożenie / Sprzedaż

WWW / Apple Store / Google Play /
Marketplace i inne…

Logika i wygląd
aplikacji
Frameworki wspomagające i przyśpieszające pracę
• Sencha Touch (http://www.sencha.com)
–
–
–
–

Wg. mojej opinii wiodący framework w chwili obecnej
ExtJS (rozbudowany JS, autorski)
Mocne wsparcie = wysoka, stale rosnąca liczba userów
OpenSource & Free (nawet do celów komercyjnych)

• jQuery Mobile (http://jquerymobile.com)
– Pełny framework tworzony przez ekipę od jQuery
– W mojej subiektywnej ocenie bardzo mało wydajny

• Rhodes (http://rhomobile.com)
– Oparty na Ruby’m
Pozostałe frameworki
•
•
•
•
•
•
•
•

iUI (http://code.google.com/p/iui/)
jQTouch (http://jqtouch.com/)
Wink (http://www.winktoolkit.org)
WebApp.Net (http://webapp-net.com/)
DynamicX (http://www.dhtmlx.com/touch/)
Zepto.js (http://zeptojs.com/)
Jo (http://joapp.com)
Wiele, wiele, wiele więcej…
Sencha Touch 2 – film promocyjny

http://www.youtube.com/watch?v=6UZMsPXYKr8
Sencha Touch 2
ExtJS MVC
HTML5
Adaptatywny layout
Nastawiony na performance
Sencha Architect 2, Sencha SDK, SDK Tools i masa innych
narzędzi (zawrotne tempo..)
• Obszerna i przejrzysta dokumentacja, dema
• COMMUNITY!
•
•
•
•
•
Narzędzia developerskie
• Dowolny edytor HTML, JS lub konkretne IDE w przypadku sprecyzowanego
targetu aplikacji (np. Eclipse dla Androida, Xcode dla iOS’a, Cygwin dla
Symbiana itd.)
• SDK platformy
• Urządzenia bądź emulatory, ewentualnie przeglądarki
• Ew. pluginy (np. MDS dla Eclipsa, inna nazwa AppLaud)
– Integracja Sencha Touch, jQuery Mobile
– Tworzenie projektu jednym kliknięciem
• Brak konieczności zapamiętywania i odtwarzania skomplikowanej struktury katalogów

– Wsparcie dla kodowania w JS
– Opcja otworzenia konkretnych schematów aplikacji
ST2 – Struktura aplikacji cz.1
ST2 – Struktura aplikacji cz.2
DEMO #1
Pierwsza aplikacja w ST2
Plik app.js
Plik app.json
1.

2.

3.
Przykładowy kontroler
Przykładowy widok
Przykładowy model
Przykładowy magazyn danych (Store)
DEMO #2
KitchenSink
Personalizacja/stylizacja aplikacji cz.1
• CSS3
• SASS & Compass

Zmienne z dok. ST2

• @import 'sencha-touch/default/all'; + stosowane kontrolki
Personalizacja/stylizacja aplikacji cz.2
• UI dla poszczególnych kontrolek (np. Toolbar’a)
– @include sencha-button-ui('orange', #ff8000, 'glossy');

• > compass compile = kompilacja i wygenerowanie arkusza CSS
„Build’owanie” aplikacji
• Microloader
– Debug
– Production
– Testing

• Native packaging
• Mechanizmy oparte na JSB3 / JSON
• IDE/Platform depended
Podsumowanie
• Standardy webowe bazą aplikacji
• WORA (Write Once, Run Anywhere), WODA (Write Once, Deploy
Anywhere)
• Brak ograniczenia od platformy bądź producenta sprzętu
• Dostęp do funkcji sprzętowych z poziomu kodu JS
• Ciągły rozwój i dopasowanie się do biezących standardów
Dziękuję za uwagę!

Pytania?
Mail: marcin@sicc.pl || WWW: http://www.sicc.pl
1 of 30

Recommended

Kuloodporne strony internetowe. Jak poprawić elastyczność z wykorzystaniem XH... by
Kuloodporne strony internetowe. Jak poprawić elastyczność z wykorzystaniem XH...Kuloodporne strony internetowe. Jak poprawić elastyczność z wykorzystaniem XH...
Kuloodporne strony internetowe. Jak poprawić elastyczność z wykorzystaniem XH...Wydawnictwo Helion
773 views27 slides
Gavern Framework - Joomla! Day Poland 2013 by
Gavern Framework - Joomla! Day Poland 2013Gavern Framework - Joomla! Day Poland 2013
Gavern Framework - Joomla! Day Poland 2013Bartłomiej Krztuk
2K views44 slides
Integracja środowiska testowego z użyciem Robot Framework, TrojQA 2014-12-16 by
Integracja środowiska testowego z użyciem Robot Framework, TrojQA 2014-12-16Integracja środowiska testowego z użyciem Robot Framework, TrojQA 2014-12-16
Integracja środowiska testowego z użyciem Robot Framework, TrojQA 2014-12-16Krzysztof Synak
4.8K views15 slides
Ionic framework - aplikacja mobilna w 15 minut by
Ionic framework - aplikacja mobilna w 15 minutIonic framework - aplikacja mobilna w 15 minut
Ionic framework - aplikacja mobilna w 15 minutTomasz Borowski
2.1K views38 slides
Aplikacje mobilne tworzone w technologiach webowych by
Aplikacje mobilne tworzone w technologiach webowychAplikacje mobilne tworzone w technologiach webowych
Aplikacje mobilne tworzone w technologiach webowychTomasz Borowski
1.4K views25 slides
Projektowanie i programowanie aplikacji nowej generacji by
Projektowanie i programowanie aplikacji nowej generacjiProjektowanie i programowanie aplikacji nowej generacji
Projektowanie i programowanie aplikacji nowej generacjiKatedra Informatyki Ekonomicznej UG
734 views15 slides

More Related Content

Similar to Cross-platformowe aplikacje mobilne tworzone w oparciu o framework Sencha Touch 2 @ Mobilization^2, Łódź

Jak zostać mobile deweloperem w 1 dzień by
Jak zostać mobile deweloperem w 1 dzieńJak zostać mobile deweloperem w 1 dzień
Jak zostać mobile deweloperem w 1 dzieńPaweł Kondraciuk
716 views45 slides
Architektura serwisu gg.pl 2 przemek łącki (2) by
Architektura serwisu gg.pl 2   przemek łącki (2)Architektura serwisu gg.pl 2   przemek łącki (2)
Architektura serwisu gg.pl 2 przemek łącki (2)Cendoo
903 views24 slides
Technologie mobilne w platformach edukacyjnych. Kosmikus, studium przypadku by
Technologie mobilne w platformach edukacyjnych. Kosmikus, studium przypadkuTechnologie mobilne w platformach edukacyjnych. Kosmikus, studium przypadku
Technologie mobilne w platformach edukacyjnych. Kosmikus, studium przypadkuMichal Lukaszewski
977 views62 slides
Titanium - RuPy Tuesday by
Titanium - RuPy TuesdayTitanium - RuPy Tuesday
Titanium - RuPy TuesdayGaldoMedia
243 views8 slides
O Electronie słów kilka by
O Electronie słów kilkaO Electronie słów kilka
O Electronie słów kilkaThe Software House
2.4K views27 slides
O Electronie słów kilka by
O Electronie słów kilkaO Electronie słów kilka
O Electronie słów kilkaBartosz Tkaczewski
412 views27 slides

Similar to Cross-platformowe aplikacje mobilne tworzone w oparciu o framework Sencha Touch 2 @ Mobilization^2, Łódź(20)

Jak zostać mobile deweloperem w 1 dzień by Paweł Kondraciuk
Jak zostać mobile deweloperem w 1 dzieńJak zostać mobile deweloperem w 1 dzień
Jak zostać mobile deweloperem w 1 dzień
Paweł Kondraciuk716 views
Architektura serwisu gg.pl 2 przemek łącki (2) by Cendoo
Architektura serwisu gg.pl 2   przemek łącki (2)Architektura serwisu gg.pl 2   przemek łącki (2)
Architektura serwisu gg.pl 2 przemek łącki (2)
Cendoo903 views
Technologie mobilne w platformach edukacyjnych. Kosmikus, studium przypadku by Michal Lukaszewski
Technologie mobilne w platformach edukacyjnych. Kosmikus, studium przypadkuTechnologie mobilne w platformach edukacyjnych. Kosmikus, studium przypadku
Technologie mobilne w platformach edukacyjnych. Kosmikus, studium przypadku
Michal Lukaszewski977 views
Titanium - RuPy Tuesday by GaldoMedia
Titanium - RuPy TuesdayTitanium - RuPy Tuesday
Titanium - RuPy Tuesday
GaldoMedia243 views
Łebski Development czyli kiedy i dlaczego tworzyć oprogramowanie pod klucz i ... by Wojciech Sznapka
Łebski Development czyli kiedy i dlaczego tworzyć oprogramowanie pod klucz i ...Łebski Development czyli kiedy i dlaczego tworzyć oprogramowanie pod klucz i ...
Łebski Development czyli kiedy i dlaczego tworzyć oprogramowanie pod klucz i ...
Wojciech Sznapka1.9K views
Girls in It - Front-end & Back-end. Jak zacząć by monterail
Girls in It - Front-end & Back-end. Jak zacząćGirls in It - Front-end & Back-end. Jak zacząć
Girls in It - Front-end & Back-end. Jak zacząć
monterail447 views
[PL] Umbraco - „scyzoryk” w rękach .net developera @ WG.NET, Warszawa 2016 by Marcin Zajkowski
[PL] Umbraco - „scyzoryk” w rękach .net developera @ WG.NET, Warszawa 2016[PL] Umbraco - „scyzoryk” w rękach .net developera @ WG.NET, Warszawa 2016
[PL] Umbraco - „scyzoryk” w rękach .net developera @ WG.NET, Warszawa 2016
Marcin Zajkowski363 views
Kivy na Androidzie by Daftcode
Kivy na AndroidzieKivy na Androidzie
Kivy na Androidzie
Daftcode1.3K views
Single Page Applications przy wykorzystaniu REST by 3camp
Single Page Applications przy wykorzystaniu RESTSingle Page Applications przy wykorzystaniu REST
Single Page Applications przy wykorzystaniu REST
3camp2.3K views
Extjs & netzke by GaldoMedia
Extjs & netzkeExtjs & netzke
Extjs & netzke
GaldoMedia451 views
Data Driven Testing za pomocą narzędzia Ranorex by testuj.pl
Data Driven Testing za pomocą narzędzia RanorexData Driven Testing za pomocą narzędzia Ranorex
Data Driven Testing za pomocą narzędzia Ranorex
testuj.pl186 views
Umbraco - .NET-owy scyzoryk w świecie CMS-ów by Marcin Zajkowski
Umbraco - .NET-owy scyzoryk w świecie CMS-ówUmbraco - .NET-owy scyzoryk w świecie CMS-ów
Umbraco - .NET-owy scyzoryk w świecie CMS-ów
Marcin Zajkowski356 views

More from Marcin Zajkowski

4th Poland Umbraco Meetup @ państwomiasto, Warsaw 2016 by
4th Poland Umbraco Meetup @ państwomiasto, Warsaw 20164th Poland Umbraco Meetup @ państwomiasto, Warsaw 2016
4th Poland Umbraco Meetup @ państwomiasto, Warsaw 2016Marcin Zajkowski
282 views19 slides
How to Build a strong Remote Team @ Centroom, Białystok 2015 by
How to Build a strong Remote Team @ Centroom, Białystok 2015How to Build a strong Remote Team @ Centroom, Białystok 2015
How to Build a strong Remote Team @ Centroom, Białystok 2015Marcin Zajkowski
1.5K views42 slides
Z[mobi]lizuj się! O tym czego chcieć i jak to zrobić w kontekście dobrej i u... by
Z[mobi]lizuj się! O tym czego chcieć i jak to zrobić w kontekście dobrej i u...Z[mobi]lizuj się! O tym czego chcieć i jak to zrobić w kontekście dobrej i u...
Z[mobi]lizuj się! O tym czego chcieć i jak to zrobić w kontekście dobrej i u...Marcin Zajkowski
573 views22 slides
Osutd by
OsutdOsutd
OsutdMarcin Zajkowski
270 views1 slide
Grywalizacja na festiwalu Original Source Up To Date w Białymstoku @ 2013 by
Grywalizacja na festiwalu Original Source Up To Date w Białymstoku @ 2013Grywalizacja na festiwalu Original Source Up To Date w Białymstoku @ 2013
Grywalizacja na festiwalu Original Source Up To Date w Białymstoku @ 2013Marcin Zajkowski
217 views1 slide
We are SICC @ Wizyta studyjnych dziennikarzy, BPN-T, Białystok by
We are SICC @ Wizyta studyjnych dziennikarzy, BPN-T, BiałystokWe are SICC @ Wizyta studyjnych dziennikarzy, BPN-T, Białystok
We are SICC @ Wizyta studyjnych dziennikarzy, BPN-T, BiałystokMarcin Zajkowski
253 views8 slides

More from Marcin Zajkowski(8)

4th Poland Umbraco Meetup @ państwomiasto, Warsaw 2016 by Marcin Zajkowski
4th Poland Umbraco Meetup @ państwomiasto, Warsaw 20164th Poland Umbraco Meetup @ państwomiasto, Warsaw 2016
4th Poland Umbraco Meetup @ państwomiasto, Warsaw 2016
Marcin Zajkowski282 views
How to Build a strong Remote Team @ Centroom, Białystok 2015 by Marcin Zajkowski
How to Build a strong Remote Team @ Centroom, Białystok 2015How to Build a strong Remote Team @ Centroom, Białystok 2015
How to Build a strong Remote Team @ Centroom, Białystok 2015
Marcin Zajkowski1.5K views
Z[mobi]lizuj się! O tym czego chcieć i jak to zrobić w kontekście dobrej i u... by Marcin Zajkowski
Z[mobi]lizuj się! O tym czego chcieć i jak to zrobić w kontekście dobrej i u...Z[mobi]lizuj się! O tym czego chcieć i jak to zrobić w kontekście dobrej i u...
Z[mobi]lizuj się! O tym czego chcieć i jak to zrobić w kontekście dobrej i u...
Marcin Zajkowski573 views
Grywalizacja na festiwalu Original Source Up To Date w Białymstoku @ 2013 by Marcin Zajkowski
Grywalizacja na festiwalu Original Source Up To Date w Białymstoku @ 2013Grywalizacja na festiwalu Original Source Up To Date w Białymstoku @ 2013
Grywalizacja na festiwalu Original Source Up To Date w Białymstoku @ 2013
Marcin Zajkowski217 views
We are SICC @ Wizyta studyjnych dziennikarzy, BPN-T, Białystok by Marcin Zajkowski
We are SICC @ Wizyta studyjnych dziennikarzy, BPN-T, BiałystokWe are SICC @ Wizyta studyjnych dziennikarzy, BPN-T, Białystok
We are SICC @ Wizyta studyjnych dziennikarzy, BPN-T, Białystok
Marcin Zajkowski253 views
Mobile First! Responsive webpages @ Przyszłość w IT, Łódź 2013 by Marcin Zajkowski
Mobile First! Responsive webpages @ Przyszłość w IT, Łódź 2013Mobile First! Responsive webpages @ Przyszłość w IT, Łódź 2013
Mobile First! Responsive webpages @ Przyszłość w IT, Łódź 2013
Marcin Zajkowski500 views
Dive into HTML5 - Marcin Zajkowski @ SNT, Microsoft by Marcin Zajkowski
Dive into HTML5 - Marcin Zajkowski @ SNT, MicrosoftDive into HTML5 - Marcin Zajkowski @ SNT, Microsoft
Dive into HTML5 - Marcin Zajkowski @ SNT, Microsoft
Marcin Zajkowski756 views

Cross-platformowe aplikacje mobilne tworzone w oparciu o framework Sencha Touch 2 @ Mobilization^2, Łódź

  • 1. Cross-platformowe aplikacje mobilne tworzone w oparciu o framework: Sencha Touch 2 Marcin Zajkowski @ Mobilization^2, 2012 r. kontakt: m.zajkowski@sicc.pl, @zajkowskimarcin
  • 2. Kim jestem? Czym się zajmuję? • • • • • • Absolwent Informatyki PB (Lipiec 2012) ~3 lata doświadczenia jako programista .NET Microsoft Szkoła Nowych Technologii – Trener SICC.pl – współwłaściciel, programista MyślMobilnie.pl - ??? Współlaureat głównej nagrody fundowanej przez BPN-T w konkursie „Mój pomysł mój biznes 2012”
  • 4. Chcę mobilną aplikację – jaka platforma?!
  • 6. Alternatywy • Corona (iOS & Android) – 199$ rocznie za jeden system operacyjny – 349$ rocznie za pakiet obu systemów • RhoMobile (iOS, Android, RIM, WM, WP7) – Darmowy (licencja MIT) – Rhodes (open-source, Ruby-based framework) • MVC • „true native apps” • Appcelerator Titanium (iOS & Android) • Inne…
  • 8. Zalety PhoneGap’a • • • • • • „Nitobi has been required by Adobe” OpenSource (Javascript) i za darmo Dostęp do natywnych cech platform / smartfonów PhoneGap Build Masa gotowych pluginów COMMUNITY
  • 9. Wieloplatformowe aplikacje mobilne • Oparte na standardach webowych (dobrze znanych wszystkim programistom – prawie ) • Niezalezne od oprogramowania i producenta sprzętu • „Future is in your browser” (http://caniuse.com) • WODA i WORA – napisane raz a dobrze (łatwiejszy serwis, konserwacja, obsługa błędów)
  • 10. Proces tworzenia cross-platformowej aplikacji HTML5 = HTML + CSS3 + JS Wybrany framework (np. Sencha Touch) Wieloplatformowość PhoneGap / alternatywa Narzędzie developerskie / PhoneGap Build Wdrożenie / Sprzedaż WWW / Apple Store / Google Play / Marketplace i inne… Logika i wygląd aplikacji
  • 11. Frameworki wspomagające i przyśpieszające pracę • Sencha Touch (http://www.sencha.com) – – – – Wg. mojej opinii wiodący framework w chwili obecnej ExtJS (rozbudowany JS, autorski) Mocne wsparcie = wysoka, stale rosnąca liczba userów OpenSource & Free (nawet do celów komercyjnych) • jQuery Mobile (http://jquerymobile.com) – Pełny framework tworzony przez ekipę od jQuery – W mojej subiektywnej ocenie bardzo mało wydajny • Rhodes (http://rhomobile.com) – Oparty na Ruby’m
  • 12. Pozostałe frameworki • • • • • • • • iUI (http://code.google.com/p/iui/) jQTouch (http://jqtouch.com/) Wink (http://www.winktoolkit.org) WebApp.Net (http://webapp-net.com/) DynamicX (http://www.dhtmlx.com/touch/) Zepto.js (http://zeptojs.com/) Jo (http://joapp.com) Wiele, wiele, wiele więcej…
  • 13. Sencha Touch 2 – film promocyjny http://www.youtube.com/watch?v=6UZMsPXYKr8
  • 14. Sencha Touch 2 ExtJS MVC HTML5 Adaptatywny layout Nastawiony na performance Sencha Architect 2, Sencha SDK, SDK Tools i masa innych narzędzi (zawrotne tempo..) • Obszerna i przejrzysta dokumentacja, dema • COMMUNITY! • • • • •
  • 15. Narzędzia developerskie • Dowolny edytor HTML, JS lub konkretne IDE w przypadku sprecyzowanego targetu aplikacji (np. Eclipse dla Androida, Xcode dla iOS’a, Cygwin dla Symbiana itd.) • SDK platformy • Urządzenia bądź emulatory, ewentualnie przeglądarki • Ew. pluginy (np. MDS dla Eclipsa, inna nazwa AppLaud) – Integracja Sencha Touch, jQuery Mobile – Tworzenie projektu jednym kliknięciem • Brak konieczności zapamiętywania i odtwarzania skomplikowanej struktury katalogów – Wsparcie dla kodowania w JS – Opcja otworzenia konkretnych schematów aplikacji
  • 16. ST2 – Struktura aplikacji cz.1
  • 17. ST2 – Struktura aplikacji cz.2
  • 26. Personalizacja/stylizacja aplikacji cz.1 • CSS3 • SASS & Compass Zmienne z dok. ST2 • @import 'sencha-touch/default/all'; + stosowane kontrolki
  • 27. Personalizacja/stylizacja aplikacji cz.2 • UI dla poszczególnych kontrolek (np. Toolbar’a) – @include sencha-button-ui('orange', #ff8000, 'glossy'); • > compass compile = kompilacja i wygenerowanie arkusza CSS
  • 28. „Build’owanie” aplikacji • Microloader – Debug – Production – Testing • Native packaging • Mechanizmy oparte na JSB3 / JSON • IDE/Platform depended
  • 29. Podsumowanie • Standardy webowe bazą aplikacji • WORA (Write Once, Run Anywhere), WODA (Write Once, Deploy Anywhere) • Brak ograniczenia od platformy bądź producenta sprzętu • Dostęp do funkcji sprzętowych z poziomu kodu JS • Ciągły rozwój i dopasowanie się do biezących standardów
  • 30. Dziękuję za uwagę! Pytania? Mail: marcin@sicc.pl || WWW: http://www.sicc.pl