Praktyczne aspekty wyboru mobilnego frameworka developerskiego - Coobers

16

Transcript of Praktyczne aspekty wyboru mobilnego frameworka developerskiego - Coobers

Page 1: Praktyczne aspekty wyboru mobilnego frameworka developerskiego - Coobers
Page 2: Praktyczne aspekty wyboru mobilnego frameworka developerskiego - Coobers

CZYM JEST FRAMEWORK?

Czym jest framework?

Frameworki natywne

Frameworki hybrydowe

FH - mieszanka generacji

Jaki framework hybrydowy wybrać?

Rich content

Feed informacyjny

Gry / Edukacja

Wearables?

Case study - Newsweek

Nowy gracz

Coobersywizm

Podsumowanie

Zestaw narzędzi programistycznych, interfejsu i interakcji.

Zaprojektowane, aby zaoszczędzić czas (albo dodać sobie hype’u).

Page 3: Praktyczne aspekty wyboru mobilnego frameworka developerskiego - Coobers

FRAMEWORKI NATYWNE

Czym jest framework?

Frameworki natywne

Frameworki hybrydowe

FH - mieszanka generacji

Jaki framework hybrydowy wybrać?

Rich content

Feed informacyjny

Gry / Edukacja

Wearables?

Case study - Newsweek

Nowy gracz

Coobersywizm

Podsumowanie

- Superszybkie

- Idealne dla zaawansowanych programistów

- Niski koszt utrzymania kodu

- Wymaga programistów ze wieloletnim stażem

- Wysoki koszt wytworzenia i testów

- Dobre tylko na jedną platformę

XCODE / iOS SDK Android Studio / Android SDK Visual Studio / Windows SDK

Page 4: Praktyczne aspekty wyboru mobilnego frameworka developerskiego - Coobers

FRAMEWORKI HYBRYDOWE

Czym jest framework?

Frameworki natywne

Frameworki hybrydowe

FH - mieszanka generacji

Jaki framework hybrydowy wybrać?

Rich content

Feed informacyjny

Gry / Edukacja

Wearables?

Case study - Newsweek

Nowy gracz

Coobersywizm

Podsumowanie

- Łatwiejsze w kodowaniu

- Drogie w utrzymaniu

One to rule them all*

*Jeden kod - wiele platform

Page 5: Praktyczne aspekty wyboru mobilnego frameworka developerskiego - Coobers

FH - MIESZANKA GENERACJI

Generacja #1czyli: Bazujące na WebView -> Html/CSS/JS PhoneGap (w tym ionic i inne pochodne) Titanium UI Beta

Generacja #2czyli: Interpretery / Silniki OpenGL Titanium UI (Javascript), Unity (C++,C#), Cocos2d-x (C++, Lua)

Generacja #3czyli: Kompilatory natywne Xamarin (C#)

Czym jest framework?

Frameworki natywne

Frameworki hybrydowe

FH - mieszanka generacji

Jaki framework hybrydowy wybrać?

Rich content

Feed informacyjny

Gry / Edukacja

Wearables?

Case study - Newsweek

Nowy gracz

Coobersywizm

Podsumowanie

Page 6: Praktyczne aspekty wyboru mobilnego frameworka developerskiego - Coobers

Podpowiedź:

Zależy od aplikacji

Czym jest framework?

Frameworki natywne

Frameworki hybrydowe

FH - mieszanka generacji

Jaki framework hybrydowy wybrać?

Rich content

Feed informacyjny

Gry / Edukacja

Wearables?

Case study - Newsweek

Nowy gracz

Coobersywizm

Podsumowanie

JAKI FRAMEWORK HYBRYDOWY WYBRAĆ?

Page 7: Praktyczne aspekty wyboru mobilnego frameworka developerskiego - Coobers

RICH CONTENT

PhoneGap

DLACZEGO?

Najlepsza optymalizacja dużych ilości sformatowanych danych.

PROBLEM?

Zarządzanie śmieciami i prędkość działania

ROZWIĄZANIA?

Modyfikacja frameworku, architektura warstwowo-rozkładkowa.

Zapomnij o jQuery, Angular. Powiedz hello vanilla javascript.

Czym jest framework?

Frameworki natywne

Frameworki hybrydowe

FH - mieszanka generacji

Jaki framework hybrydowy wybrać?

Rich content

Feed informacyjny

Gry / Edukacja

Wearables?

Case study - Newsweek

Nowy gracz

Coobersywizm

Podsumowanie

Page 8: Praktyczne aspekty wyboru mobilnego frameworka developerskiego - Coobers

FEED INFORMACYJNY

Titanium UI

DLACZEGO?

Bindowanie funkcji bezpośrednio do frameworka natywnego.

PROBLEM?

Błędy, błędy, błędy…

ROZWIĄZANIA?

Stała wysokość zdjęć.

Czym jest framework?

Frameworki natywne

Frameworki hybrydowe

FH - mieszanka generacji

Jaki framework hybrydowy wybrać?

Rich content

Feed informacyjny

Gry / Edukacja

Wearables?

Case study - Newsweek

Nowy gracz

Coobersywizm

Podsumowanie

Page 9: Praktyczne aspekty wyboru mobilnego frameworka developerskiego - Coobers

GRY / EDUKACJA

Cocos2d-x

DLACZEGO?

OpenGL jest super szybki, wydajny i zadziała perfekcyjnie na bardzo starych urządzeniach Wbudowany silnik fizyczny. W pełni darmowy.

PROBLEM?

Problemy z mikroprocesorami i pamięcią w telefonach z Androidem, wersjami na Windows. Wymaga własnych bindów do frameworka natywnego, aby użyć scroll, elementów UI.

Czym jest framework?

Frameworki natywne

Frameworki hybrydowe

FH - mieszanka generacji

Jaki framework hybrydowy wybrać?

Rich content

Feed informacyjny

Gry / Edukacja

Wearables?

Case study - Newsweek

Nowy gracz

Coobersywizm

Podsumowanie

Page 10: Praktyczne aspekty wyboru mobilnego frameworka developerskiego - Coobers

WEARABLES?

Czym jest framework?

Frameworki natywne

Frameworki hybrydowe

FH - mieszanka generacji

Jaki framework hybrydowy wybrać?

Rich content

Feed informacyjny

Gry / Edukacja

Wearables?

Case study - Newsweek

Nowy gracz

Coobersywizm

Podsumowanie

Page 11: Praktyczne aspekty wyboru mobilnego frameworka developerskiego - Coobers

CASE STUDY - NEWSWEEK

Newsweek WindowsPhone App

Zastępujemy narzędzia Adobe Publishing Platform na platformę Windows/Phone

- natywny C# z SDK aplikacji universalnej Windows - własny framework zagnieżdzony w webview - architektura warstwowo-rozkładkowa - każda strona złożona z ok. 5 webview + wartwy multimedialne + scroll - aplikacja cache’uje kilka zestawów stron

Efekt: Wydajne przewijanie, brak czasów ładowania przy treściach multimedialnych na najsłabszej platformie mobilnej

Czym jest framework?

Frameworki natywne

Frameworki hybrydowe

FH - mieszanka generacji

Jaki framework hybrydowy wybrać?

Rich content

Feed informacyjny

Gry / Edukacja

Wearables?

Case study - Newsweek

Nowy gracz

Coobersywizm

Podsumowanie

Page 12: Praktyczne aspekty wyboru mobilnego frameworka developerskiego - Coobers

NOWY GRACZ

Czym jest framework?

Frameworki natywne

Frameworki hybrydowe

FH - mieszanka generacji

Jaki framework hybrydowy wybrać?

Rich content

Feed informacyjny

Gry / Edukacja

Wearables?

Case study - Newsweek

Nowy gracz

Coobersywizm

Podsumowanie

Tabris.JS

DLACZEGO?

Niespotykana wydajność, wbudowane natywne elementy UI, oraz wzorce aplikacji wraz z UX.

PROBLEM?

Problemy wieku dziecięcego.

Page 13: Praktyczne aspekty wyboru mobilnego frameworka developerskiego - Coobers

COOBERS

Ze względu na wysoki koszt utrzymania, używanie frameworków hybrydowych nie powinno przekroczyć 20% aktywnych projektów.

Czym jest framework?

Frameworki natywne

Frameworki hybrydowe

FH - mieszanka generacji

Jaki framework hybrydowy wybrać?

Rich content

Feed informacyjny

Gry / Edukacja

Wearables?

Case study - Newsweek

Nowy gracz

Coobersywizm

Podsumowanie

85% 15%

COOBERSYWIZM

Frameworki natywne Frameworki hybrydowe

Oddane produkty:

Page 14: Praktyczne aspekty wyboru mobilnego frameworka developerskiego - Coobers

COOBERS

Czym jest framework?

Frameworki natywne

Frameworki hybrydowe

FH - mieszanka generacji

Jaki framework hybrydowy wybrać?

Rich content

Feed informacyjny

Gry / Edukacja

Wearables?

Case study - Newsweek

Nowy gracz

Coobersywizm

Podsumowanie

30% 70%

COOBERSYWIZM

Frameworki natywne Frameworki hybrydowe

Wersje testowe/research:

Frameworki hybrydowe pozwalają szybko i tanio sprawdzić funkcjonalność aplikacji i ich zastosowanie w prawdziwym środowisku. Wyjątkiem są aplikacje, których kluczowymi elementami są systemy bezpieczeństwa i technologie zbliżeniowe, których nie da się w przetestować inaczej.

Page 15: Praktyczne aspekty wyboru mobilnego frameworka developerskiego - Coobers

PODSUMOWANIE

Czym jest framework?

Frameworki natywne

Frameworki hybrydowe

FH - mieszanka generacji

Jaki framework hybrydowy wybrać?

Rich content

Feed informacyjny

Gry / Edukacja

Wearables?

Case study - Newsweek

Nowy gracz

Coobersywizm

Podsumowanie

FH Mają swoją niszę

Obniżają koszt wdrażania nowych aplikacji jako baza do testów

Zawsze wybieraj framework biorąc pod uwagę zawartość aplikacji

www.github.com/Coobers

Page 16: Praktyczne aspekty wyboru mobilnego frameworka developerskiego - Coobers

Gdańsk (CB Madison) ul. Jana Heweliusza 9

tel. +48 58 355 40 25 mail: [email protected]

Campus Warszawa ul. Ząbkowska 31