Framework czy SDK?

0

Podobno 60% developerów aplikacji mobilnych używa wyłącznie SDK, pozostali chwalą sobie używanie cross-platformowych frameworków takich jak PhoneGap albo tworzą aplikacje w Visual Studio i Xamarin?

Jakie są Waszym zdaniem plusy i minusy używania tych rozwiązań? Czy macie jakieś praktyczne doświadczenia w tym zakresie?

0

prosta odpowiedz

TO ZALEZY

do czego tego potrzebujesz.

Jezeli chcesz szybko stworzyc aplikacje ktora bedzie wygladac i mniej wiecej dzialac tak samo na kazdym to mozesz uzyc frameworka (albo nawet silnika do gier...)

jezeli chcesz robic cos specyficznego skomplikowanego pod dana platforme to lepiej sdk

0
fasadin napisał(a):

Jezeli chcesz szybko stworzyc aplikacje ktora bedzie wygladac i mniej wiecej dzialac tak samo na kazdym to mozesz uzyc frameworka

Trochę interesowałem się aplikacjami mobilnymi i słyszałem, że aplikacje na Androida, iOSa i WP nie powinny wyglądać tak samo. Każdy OS ma jakby własny styl i własne zasady projektowania UI i każda aplikacja powinna być projektowana zgodnie z tymi zasadami. Xamarin umożliwia tworzenie oddzielnego UI dla każdego OS. Jedyne co jest wspólne to kod aplikacji. Tworzysz jeden kod i on ma działać tak samo pod każdym OS. Jak wprowadzasz zmiany, to nie musisz wprowadzać osobnych zmian do Androida, osobnych do iOSa i osobnych do WP. Wprowadzasz raz zmiany w jednym kodzie i one są widoczne pod każdym OS.

1
Igor1981 napisał(a):

Trochę interesowałem się aplikacjami mobilnymi i słyszałem, że aplikacje na Androida, iOSa i WP nie powinny wyglądać tak samo. Każdy OS ma jakby własny styl i własne zasady projektowania UI i każda aplikacja powinna być projektowana zgodnie z tymi zasadami.

I słusznie! Przykładowo pewna aplikacja do wypożyczania rowerów nie reaguje na przycisk "wstecz" tak jak to oczekuję (zamyka aplikację, nie cofa ekran wstecz), a z kolei pewna aplikacja medyczna ma ekranowe przyciski wstecz, bo przyzwyczajeni do ułomności jednoprzyciskowych telefonów twórcy zapomnieli, że ja mam do tego prawdziwy klawisz. Lub też koniecznie chcieli upodobnić swoją aplikacje do wersji na pewien inny system.

Ale rozumiem, że taniej było zrobić jedno, co działa wszędzie, a nie się rozdrabniać.

Stąd też nawiasem moja niechęć do projektu Astoria i możliwości uruchamiania aplikacji Androidowych na Windows 10 bez przeróbki (praktycznie).

0

Ale przecież crossplatformowe aplikacje na różne platformy nie muszą wyglądać tak samo.

user image

0
somekind napisał(a):

Ale przecież crossplatformowe aplikacje na różne platformy nie muszą wyglądać tak samo.

Przecież pisałem, że "Xamarin umożliwia tworzenie oddzielnego UI dla każdego OS". Nie wiem jak inne narzędzia, ale pewnie inne też mają taką możliwość.
Chodziło mi generalnie o to, że mój przedmówca napisał, że crossplatformowe aplikacje służą do tworzenia aplikacji, które na każdym urządzeniu będą wyglądać tak samo, a przecież każda platforma ma własny styl i aplikacja na każdej platformie nie powinna wyglądać tak samo, lecz zgodnie z przyjętymi zasadami tworzenia UI dla danej platformy.

0

@Igor1981, spokojnie, nie atakowałem Ciebie, raczej odpowiadałem na skargi, które w swoim poście napisał @Ktos.

Na Xamarinie się nie znam, ale nie słyszałem o nim dobrych słów od nikogo. Generalnie bardziej wierzę w to, że łatwiej różnie ostylować CSSem niż w kodzie aplikacji, no i jak widać na załączonym przeze mnie obrazku, Kendo Mobile UI pozwala takie coś osiągnąć.

0

Szkoda, że nie napisał nikt, kto ma doświadczenie z Xamarinem i PhoneGap.

Xamarin ma oczywiście wiele zalet, najważniejsze z nich to, że po prostu działa, można w nic coś tam stworzyć. Co ważne Microsoft wspiera te rozwiązanie. Z wad z tego co słyszałem to przede wszystkim wysoka cena. Poza tym brak najpopularniejszych bibliotek używanych w Androidzie czy iOS (podobno cały czas się to poprawia). Poza tym, żeby używać te rozwiązanie trzeba nadal mieć bardzo solidną wiedzę na temat natywnego developmentu oraz znać Java i Objective-C.

Z kolei w PhoneGap najbardziej kuleje szybkość, a właściwie jej brak w porównaniu z aplikacjami natywnymi. Podobno z tego powodu Apple często odrzuca te aplikacje.

0

Z PhoneGapem też bywają problemy. Na przykład Windows nie obsługuje poprawnie pewnych rzeczy z JS które obsługuje Android bez problemów. CO rpawda to ze względów bezpieczeństwa, więc uzasadnienie jakieś jest.

0
somekind napisał(a):

@Igor1981, spokojnie, nie atakowałem Ciebie, raczej odpowiadałem na skargi, które w swoim poście napisał @Ktos.

Na Xamarinie się nie znam, ale nie słyszałem o nim dobrych słów od nikogo. Generalnie bardziej wierzę w to, że łatwiej różnie ostylować CSSem niż w kodzie aplikacji, no i jak widać na załączonym przeze mnie obrazku, Kendo Mobile UI pozwala takie coś osiągnąć.

Ja też się dobrze nie znam na Xamarinie i nie słyszałem żadnej opinii na jego temat od osób, które go używały. Wiem, że Microsoft ostatnio mocno promuje Xamarina, więc wydaje mi się, że nie jest zły. Microsoftowi można wiele zarzucić odnośnie Windowsów, Internet Explorera, ale trzeba przyznać, że narzędzia dla programistów mają jedne z najlepszych na rynku. Dlatego wydaje mi się, że nie promowaliby tak Xamarina gdyby to był totalny badziew.

A odnośnie PhoneGap, Cordova, Kendo Mobile UI, itp., to zastanawia mnie który programista lubi programować w JavaScript? Ja najbardziej lubię C#, ale gdybym miał do wyboru Java vs JavaScript albo nawet Delphi vs JavaScript albo nawet C++ vs JavaScript, to zdecydowanie wolałbym Javę, Delphi i C++ niż JavaScript. Ale może te frameworki pomimo tego że programuje się w nich za pomocą JavaScriptu nie są aż tak okropne?

0
AreQrm napisał(a):

Z PhoneGapem też bywają problemy. Na przykład Windows nie obsługuje poprawnie pewnych rzeczy z JS które obsługuje Android bez problemów. CO rpawda to ze względów bezpieczeństwa, więc uzasadnienie jakieś jest.

Problemów jest masa - zarówno z instalacją i konfiguracją środowiska, jak i tworzeniem kodu. To w końcu JS, czyli świat bez stabilnych technologii i tysiące walczących ze sobą wzajemnie biblioteczek.

Igor1981 napisał(a):

Ja też się dobrze nie znam na Xamarinie i nie słyszałem żadnej opinii na jego temat od osób, które go używały.

Z tego co wiem, to ma np. od lat niezałatane błędy związane z security.

Wiem, że Microsoft ostatnio mocno promuje Xamarina, więc wydaje mi się, że nie jest zły. Microsoftowi można wiele zarzucić odnośnie Windowsów, Internet Explorera, ale trzeba przyznać, że narzędzia dla programistów mają jedne z najlepszych na rynku. Dlatego wydaje mi się, że nie promowaliby tak Xamarina gdyby to był totalny badziew.

Co do narzędzi dla programistów (IDE) to się zgadzam. Ale niektóre ich technologie i biblioteki są źle zaprojektowane, niewydajne albo kompletnie bez sensu. Zdarzało im się też równolegle rozwijać dwie technologie, by potem pozostawić tylko jedną.
Teraz zresztą promują zarówno Xamarina jak i Cordovę (obie są dostępne w VS 2015), ciekawe czy obie przetrwają.

A odnośnie PhoneGap, Cordova, Kendo Mobile UI, itp., to zastanawia mnie który programista lubi programować w JavaScript? Ja najbardziej lubię C#, ale gdybym miał do wyboru Java vs JavaScript albo nawet Delphi vs JavaScript albo nawet C++ vs JavaScript, to zdecydowanie wolałbym Javę, Delphi i C++ niż JavaScript. Ale może te frameworki pomimo tego że programuje się w nich za pomocą JavaScriptu nie są aż tak okropne?

Jeśli jest się frontendowcem, to pewno łatwiej pisać w JS niż serwerowym języku. Cordova daje tyle, że piszesz teoretycznie jedną aplikację, która uruchomi się na każdej platformie. I pewno tak by było, gdyby się pisało w czystym JS, ale jak chce się używać jakichś bibliotek/frameworków, to już tak fajnie nie jest, bo zawsze pojawiają się jakieś problemy z niekompatybilnością. A używać trzeba, bo pisanie w czystym JS to mordęga.

0
somekind napisał(a)

Problemów jest masa - zarówno z instalacją i konfiguracją środowiska, jak i tworzeniem kodu. To w końcu JS, czyli świat bez stabilnych technologii i tysiące walczących ze sobą wzajemnie biblioteczek.

Ale do niektórych projektów sprawdza się dużo lepiej niż C#, Java czy C++. Chociażby jako przykład mogę podać aplikację z Programisty FitnessApp. Chodzi mi o łatwiejsze pisanie aplikacji.

1 użytkowników online, w tym zalogowanych: 0, gości: 1