Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Apache Cordova czy natywne aplikacje mobilne?, Co tworzyć?
WebCM
post 4.04.2016, 22:51:45
Post #1





Grupa: Zarejestrowani
Postów: 375
Pomógł: 20
Dołączył: 28.07.2006

Ostrzeżenie: (0%)
-----


Zaczynam przygodę z tworzeniem aplikacji mobilnych. Czy warto uczyć się bibliotek typu Apache Cordova czy obrać jedną platformę (np. Android lub WP) i pisać w natywnych technologiach dla tej platformy? Widzę, że z Cordovą jest więcej zachodu. Potrzeba SDK do wszystkich platform, na jakie chcemy wypuścić aplikacje. Poza użeraniem się z npm muszę przejść na nowszy system z Win 7. Czy warto? API JavaScript jest mocno ograniczone w stosunku do natywnego API Androida i WP.

A może HTML 5? Kiedyś wiązałem z tą technologią duże nadzieje. Szybka analiza:

- akcelerometr - DeviceOrientationEvent, DeviceMotionEvent (FF 6+)
- akumulator - BatteryStatusAPI (Opera 26+, FF 43+)
- aparat - getUserMedia(), CameraAPI (Firefox OS)
- sieć - nie da się otwierać gniazd, więc zostaje AJAX i File API
- kontakty - jest Contacts API, ale przeglądarki go nie obsługują
- pliki - File API, AJAX, z dostępem do plików w urządzeniu może być problem
- geolokalizacja - obiekt navigator.geolocation
- globalizacja - natywnych funkcji raczej nie ma
- media - <audio>, <video>, Web Audio API, MIDI API
- powiadomienia - Notification
- magazyn - localStorage, sessionStorage, lokalne bazy danych
- wibracje - navigator.vibrate()

Można? Tak, ale producentom na tym nie zależy.


--------------------
„Jesteśmy różni, pochodzimy z różnych stron Polski, mamy różne zainteresowania, ale łączy nas jeden cel. Cel ten to Ojczyna, dla której chcemy żyć i pracować.” Roman Dmowski
Go to the top of the page
+Quote Post
aniolekx
post 5.04.2016, 07:31:48
Post #2





Grupa: Zarejestrowani
Postów: 340
Pomógł: 46
Dołączył: 31.07.2009
Skąd: A

Ostrzeżenie: (0%)
-----


zalezy jaka aplikacje chesz napisac, nie kazda aplikacja potrzebuje tych funkcjonalnosci
Go to the top of the page
+Quote Post
WebCM
post 5.05.2016, 00:29:54
Post #3





Grupa: Zarejestrowani
Postów: 375
Pomógł: 20
Dołączył: 28.07.2006

Ostrzeżenie: (0%)
-----


Ściągnąłem Visual Studio 2015 Community. Instalował mi pełno śmieci, jakich nie potrzebuję, w tym ASP.NET, IIS, SQL Server. Przerwałem i usuwam. Dezinstalacja komponentów trwa jeszcze dłużej niż instalacja. Nie dziwię się, że większość deweloperów omija technologie MS szerokim łukiem. Żeby SDK Windows 10 zajmowało kilka, a nawet kilkanaście GB?


--------------------
„Jesteśmy różni, pochodzimy z różnych stron Polski, mamy różne zainteresowania, ale łączy nas jeden cel. Cel ten to Ojczyna, dla której chcemy żyć i pracować.” Roman Dmowski
Go to the top of the page
+Quote Post
O$iek
post 5.05.2016, 06:02:50
Post #4





Grupa: Nieautoryzowani
Postów: 45
Pomógł: 16
Dołączył: 28.02.2009

Ostrzeżenie: (0%)
-----


Taaa. Większość omija szerokim łukiem <lol>
Go to the top of the page
+Quote Post
Comandeer
post 5.05.2016, 16:49:01
Post #5





Grupa: Zarejestrowani
Postów: 1 268
Pomógł: 254
Dołączył: 11.06.2009
Skąd: Świętochłowice

Ostrzeżenie: (0%)
-----


Cytat
globalizacja - natywnych funkcji raczej nie ma

Jeśli globalizacja = lokalizacja, to jest osobny standard od tego, ECMA-402 → http://tutorials.comandeer.pl/js-intl.html Obsługuje go wszystko (łącznie z node.js, gdzie trzeba sobie to jednak wkompilować) oprócz… Safari.

A co z React native? Wygląda obiecująco.


--------------------
Go to the top of the page
+Quote Post
marcio
post 6.05.2016, 18:08:55
Post #6





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

Ostrzeżenie: (10%)
X----


Cytat
Widzę, że z Cordovą jest więcej zachodu.

Watpie zanim poznasz jedna platforme natywnie to wiele wody w wisle uplynie.

Fakt musisz miec praktycznie 3 rozne srodowiska windows/linux/mac ale nie jest zle raz jak skonfigurujesz to potem jest juz zgorki.

Wiec polecam ionic aplikacje hybrydowe to przyszlosc, teraz juz nawet plynnosc/szybkosc nie jest zbytnio problemen

Jedna apka ktora zrobilem w firmie ma ponad 100k pobran i jakos sie trzyma ios/android/wp druga ma o wiele mniej ale jest ok.

Chcesz to sprawdz: https://play.google.com/store/apps/details?id=it.eone.neendo

Z react native nie mam pojecia, sam wziolem sie za angular-a 2 i na dniach wezme sie tez za reactjs z ciekawosci

Pozdro

Ten post edytował marcio 6.05.2016, 18:09:09


--------------------
Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/
Moj blog
Go to the top of the page
+Quote Post
WebCM
post 12.05.2016, 00:20:58
Post #7





Grupa: Zarejestrowani
Postów: 375
Pomógł: 20
Dołączył: 28.07.2006

Ostrzeżenie: (0%)
-----


Chcę od czegoś zacząć. HTML 5 to wiadomo - pójdzie wszędzie na aktualnych systemach. Rozwiązania pośrednie to PhoneGap, Ionic, Cordova, React, Xamarin. To strony WWW opakowane w kontener. Umożliwiają dostęp do podzespołów telefonu. Na końcu aplikacje natywne - Android, iOS, WP.

Zainstalowałem Visual Studio 2015 bez dodatków. Władował mniej śmieci niż poprzednio. Zacząłem czytać o tworzeniu aplikacji uniwersalnych dla Windows 10. Wcale nie jest tak różowo. Wydzielono grupy urządzeń (telefony, konsole, komputery) i każda ma swoje API. Oczywiście istnieje część wspólna API, ale w przypadku użycia API konkretnej grupy trzeba sprawdzać, czy API jest dostępne. Zawsze uczono, aby sprawdzać funkcjonalność, a nie sprzęt / wersję / przeglądarkę / system. Tutaj jest inaczej.

Pisząc pod Windows 10 przypomnę sobie C# i nauczę się czegoś nowego (XAML). Pisząc w HTML5 będę dalej rozwijał się w tej dziedzinie. Opiszę, co chcę wykonać na początek. Coś w stylu listy TODO. Użytkownik ma 2 opcje. Pierwsza to "Dodaj do zapamiętania". Wyszukuje już kiedyś dodany element lub wpisuje nowy. Druga to "Podsumuj". Na ekranie widać elementy od poprzedniego podsumowania. Następnie kreator prowadzi przez kilka kroków, gdzie będą pytania TAK/NIE, pola wyboru, statystyki... Najlepiej, aby dane były przechowywane w bazie danych, bo łatwiej je przetwarzać. API Windows 10 ma obsługę SQLite, ale czy da się synchronizować bazę między urządzeniami? O to samo mogę zapytać w przypadku nakładek na HTML 5.


--------------------
„Jesteśmy różni, pochodzimy z różnych stron Polski, mamy różne zainteresowania, ale łączy nas jeden cel. Cel ten to Ojczyna, dla której chcemy żyć i pracować.” Roman Dmowski
Go to the top of the page
+Quote Post
Lion
post 24.05.2016, 22:01:44
Post #8





Grupa: Zarejestrowani
Postów: 148
Pomógł: 14
Dołączył: 23.02.2013

Ostrzeżenie: (0%)
-----


Ja wybrałem aplikacje hybrydowe, a w szczególności Ionic Framework. Próg startu jest naprawdę niski. Jak znasz JS to kilka chwili możesz się pochwalić czymś co działa. Jak nie znasz JS to po przerobieniu kilku tutoriali też można już działać. Ma to także takie zalety że przy okazji uczysz się JS i całego jego ekosystemu, więc gdy później przyjdzie Ci pracować nad "zwykłą" aplikacją webową lub nawet backendem w node.js, to już coś będziesz na wstępie wiedział.

Możesz sobie zobaczyć np. jak zabierają się do tego inni, przeglądając listę uczestników pewnego konkursu: http://dotnetblogs.pl/dajsiepoznac/lista/ wpisując tam hasła cordova, ionic, android, ios, itp.

W ostatnim numerze magazynu Programista rozpoczął się cykl artykułów nt. aplikacji mobilnych przenośnych pomiędzy android <-> ios. Na razie opisywane są jakieś wynalazki w C++ ale ma w przyszłości być także właśnie o Ionic.

Jeśli chcesz zacząć z Ionic to możesz np. skorzystać z generatora szkieletu aplikacji Yeoman. Dokumentacja frameworka jest także na prawdę spoko. Udało mi się to nawet uruchomić aplikację napisaną w Ionic na androidzie 2.3

Wadami aplikacji hybrydowych jest to że są dość powolne, zajmują sporo miejsca (już na starcie apka napisana w Ionic ma kilka MB), czasami trudno się je debuguje zwłaszcza na starszych urządzeniach.


--------------------
Go to the top of the page
+Quote Post
marcio
post 30.05.2016, 17:44:26
Post #9





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

Ostrzeżenie: (10%)
X----


Cytat
Wadami aplikacji hybrydowych jest to że są dość powolne, zajmują sporo miejsca (już na starcie apka napisana w Ionic ma kilka MB), czasami trudno się je debuguje zwłaszcza na starszych urządzeniach.

Ja tak szczerze nie widze duzej roznicy pomiedzy appkami natywnymi a tymi hybrydowymi tym bardziej jesli chodzi o aplikacje do wizualizacji informacji/CRUD/wyszukiwarki i takie tam bzdety, wiadomo obraniania grafiki w tym raczej nie ma co robic.

Lekarstwem na lepsze dzialania tym bardziej na starszych android-ach + zwiekszenie kompatybilnosci jest Crosswalk pozwala on nam razem z aplikacja skompilowac pakiet z ostatnio wersja WebView z chroma-a fakt paczka wtedy na start ma 40/50mb no ale coz cos za cos


--------------------
Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/
Moj blog
Go to the top of the page
+Quote Post
batman
post 31.05.2016, 07:23:42
Post #10





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




Ostatnio znalazłem IDE do Reacta - https://www.decosoftware.com. Nie miałem jeszcze okazji się tym pobawić, ale wygląda obiecująco. W skrócie - przy pomocy React Native (javascript + xml) budujesz apki mobilne przy pomocy drag and drop i wizardów.


--------------------
I would love to change the world, but they won't give me the source code.
My software never has bugs. It just develops random features.
Go to the top of the page
+Quote Post
WebCM
post 3.06.2016, 15:31:27
Post #11





Grupa: Zarejestrowani
Postów: 375
Pomógł: 20
Dołączył: 28.07.2006

Ostrzeżenie: (0%)
-----


Zacznę od aplikacji hybrydowych, a potem pouczę się natywnych. Jest tyle bibliotek, że w tym wszystkim się gubię. Z tego, co dotychczas wyczytałem:

1. Cordova - nakładka na HTML5 - udostępnia API do podzespołów urządzeń mobilnych
2. Ionic - nakładka na Cordovę - zestaw klas CSS i dyrektyw angularowych do tworzenia interfejsu użytkownika
3. ngCordova - nakładka na Cordovę - zestaw serwisów ułatwiających korzystanie z API z użyciem AngularJS

Czyli wynika z tego, że te wszystkie 3 komponenty są niezależne, ale (1) i (2) oferują własne narzędzia konsolowe. Jak poprawnie stworzyć aplikację wykorzystującą te wszystkie 3 komponenty? NetBeans wspiera tylko Cordovę. Przy korzystaniu z Ionica przyda się IDE, które podpowiada klasy i dyrektywy angularowe wraz z parametrami. Co polecacie? Ponadto Ionic 1 nie wspiera Windowsa. Wersja 2 to totalny odlot - AngularJS 2 i TypeScript.


--------------------
„Jesteśmy różni, pochodzimy z różnych stron Polski, mamy różne zainteresowania, ale łączy nas jeden cel. Cel ten to Ojczyna, dla której chcemy żyć i pracować.” Roman Dmowski
Go to the top of the page
+Quote Post
Lion
post 8.06.2016, 20:24:56
Post #12





Grupa: Zarejestrowani
Postów: 148
Pomógł: 14
Dołączył: 23.02.2013

Ostrzeżenie: (0%)
-----


Ja używam dla Ionic w Netbeans szablonu projektu "HTML5/JS Application with Node.js".


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.04.2024 - 22:27