Xamarin vs Vue/React Native

Odpowiedz Nowy wątek
2019-01-30 23:06
0

W ramach technologii mobilnych na studiach mam wykonać niezbyt duży projekt -aplikacja zdrowotna, zbierająca kilka podstawowych danych i generująca statystyki. No i teraz mam dylemat. Mamy dowolny wybór w doborze technologii. Jedyny wymóg to że aplikacja ma być na smartphone'a. Może, ale nie musi być wieloplatformowa. Waham się trochę co wybrać. Liznąłem bardzo krótko Xamarin jakieś 3 lata temu, na codzień pracuje zarówno w C# jak i JS (React.js) a ostatnio w wolnym czasie ogarniam Vue.js. Ze względu na natłok pracy oraz obowiązki domowe nie mam czasu na naukę kompletnie nowych technologii (a chciałbym nauczyć się np. Kotlin) więc wybór padł na w/w Xamarin lub React/Vue (prawdopodobnie Vue).

Stąd też moja prośba do osób które pracują/pracowały z jedną lub obiema technologiami. Co w nich lubicie/nie lubicie, ewentualnie co Wy byście wybrali i dla czego?

Dodam tylko że początkowo mam zamiar celować tylko w Android, więc w przypadku Xamarin UI robilbym "natywne" pod ten system, a nie w Xamarin.Forms.


Na każdy złożony problem istnieje rozwiązanie które jest proste, szybkie i błędne.
edytowany 1x, ostatnio: Aventus, 2019-01-30 23:06

Pozostało 580 znaków

2019-01-30 23:43
1

Pracuję teraz trochę z Xamarinem (aczkolwiek Forms) i nawet go polubiłem, ale jest trochę powolny (start aplikacji jest dziwnie długi - Xamarin.Android nie ma tego problemu, podobno), czasami ma błędy, które biorą się niezbyt wiadomo skąd (pomaga np. przeładowanie projektu albo clean/rebuild) a dzisiaj dobrą godzinę spędziłem nad problemem wyjątku, który nie miał żadnego stacktrace i nie byłem w stanie wyśledzić skąd się bierze. Sama kompilacja i wdrażanie na urządzenie też trochę zajmuje i jest odczuwalny brak hot reload, który chyba jest w ReactNative (aczkolwiek tutaj pomaga Xamarin Live Player). Za to przenośność kodu/bibliotek pomiędzy backendem (w moim przypadku ASP.NET Core) i aplikacją mobilną (i między platformami) rekompensuje sporo.

No i pisze się w C#, a nie w JS i jest to przewaga olbrzymia :P

Pozostało 580 znaków

2019-01-31 09:00
0

Mnie zastanawia jak chciałbyś zrealizować aplikację mobilną w Vue? Mógłbyś ewentualnie to zrobić jako PWA, ale nie kojarze żadnej technologi, która by kompilowała to do natywnego kodu albo by miała własny silnik i korzystała z Vue.

Możesz zawsze spróbować zrobić Kotlin + React Native, bo jest to możliwe i byłoby na pewno ciekawym doświadczeniem. Sam język do nauki nie jest skomplikowany, jak już umiesz programować, a Reacta już znasz.

edytowany 3x, ostatnio: Michał Sikora, 2019-01-31 09:10

Pozostało 580 znaków

2019-01-31 09:38
0

@Michał Sikora: zaznaczam że mówiłem o Vue Native, a nie "czystym" Vue. Vue Native jest transpilowane(?) do React Native.


Na każdy złożony problem istnieje rozwiązanie które jest proste, szybkie i błędne.
A możliwe. Nie wiedziałem, że coś takiego nawet jest. :) - Michał Sikora 2019-01-31 09:39
Ja do przedwczoraj też nie wiedziałem ;) - Aventus 2019-01-31 09:46

Pozostało 580 znaków

2019-01-31 11:09
2
Michał Sikora napisał(a):

Mnie zastanawia jak chciałbyś zrealizować aplikację mobilną w Vue?

Na przykład tak? https://www.nativescript.org/
Poznałem kilka dni temu (akurat ja w Angularze) i póki co wygląda bardzo obiecująco. Właśnie jestem w trakcie pisania testowej apki celem nauki i obczajenia, czy "to jest to".


O, ciekawe. Czyli to działa tak jak Xamarin.Forms albo Flutter w debugowej wersji tylko z JSem, jeżeli dobrze zrozumiałem po krótkim przejrzeniu strony. Pewnie fajne rozwiązanie dla ludzi, którzy potrzebują aplikacji mobilnej i znają jakąś konkretną frontendową technologię. - Michał Sikora 2019-01-31 11:27
O ile rozumiem, to działa prawie tak jak react-native z tą przewagą, że udostępnia 100% API w JS. JS śmiga na silniku, reszta (UI) natywna. Developerka też wydaje się przyjemna. Z ich preview dostajesz QR code (w trybie tekstowym w konsoli :D jak odpalasz lokalnie albo można skorzystać z ich online edytora), skanujesz na komórce i.. masz live preview. Zapisujesz plik, 2s później widzisz zmiany na wszystkich uruchomionych urządzeniach mobilnych. - Marooned 2019-01-31 12:33
https://www.nativescript.org/[...]cript-instead-of-react-native tu odniesienie do problemów AirBnB z react-native i komentarz gości od NS. - Marooned 2019-01-31 12:34
Faktycznie, to śmiga na V8. Trochę szkoda, bo mogliby odchudzić silnik. Myślę, że świata nie zwojuje w dobie alternatyw do natywnych aplikacji, ale będzie użyteczne i przede wszystkim wygodne dla określonej grupy ludzi. - Michał Sikora 2019-01-31 16:26
Praktycznie tak samo śmiga react-native, więc w tym wypadku to nie alternatywa. Obok siedzi jeszcze Flutter. Alternatywy są generalnie dwie: całkowicie natywna apka (Java, Kotlin, Objective-C) albo webowa (Codrova, Ionic). Fajne porównanie: https://www.youtube.com/watch?v=rb8smP_xTTY - Marooned 2019-01-31 16:34
Poza tym... wracajmy do postów, bo piszemy na temat w komentarzach i ciężko się to czyta :) - Marooned 2019-01-31 16:35

Pozostało 580 znaków

2019-01-31 16:48
0
Marooned napisał(a):

Praktycznie tak samo śmiga react-native, więc w tym wypadku to nie alternatywa. Obok siedzi jeszcze Flutter. Alternatywy są generalnie dwie: całkowicie natywna apka (Java, Kotlin, Objective-C) albo webowa (Codrova, Ionic).

Chyba nie zrozumieliśmy się - w dobie alternatyw do natywnych aplikacji - czyli miałem na myśli, że NativeScript jest alternatywą do typowej, natywnej apki w Javie albo w Objective-C. Flutter działa trochę inaczej niż RN, bo jest kompilowany do ARMowego kodu, który jest uruchamiany na silniku Fluttera. Natomiast Kotlin jest jeszcze w innym miejscu, bo jest kompilowany do bajtkodu na Androidzie/backendzie, do kodu natywnego na iOS i do któregoś standardu ECMA dla webówki, więc też można współdzielić dużo kodu między platformami. Są też nawet eksperymenty typu Swift na Androidzie, ale to bardziej dla zabawy.

edytowany 3x, ostatnio: Michał Sikora, 2019-01-31 16:49

Pozostało 580 znaków

2019-02-06 11:28
2

@Aventus - daj znać co wybrałeś, jak się sprawdziło etc.


Dam znać, na tym etapie myślę że zrobię to w Xamarin. Podzielę się wrażeniami kiedy skończę projekt. - Aventus 2019-02-06 17:27

Pozostało 580 znaków

2019-02-06 15:55
0

Podczas pisania aplikacji na xamarina (xamarin.android) miałem sporo problemów wymienionych w tym temacie:
https://forums.xamarin.com/di[...]ons-learned-from-weeks-wasted

Pozostało 580 znaków

2019-02-06 16:19
2

flutter.io

Był już wspominany, choć fakt, że w komentarzach. - Marooned 2019-02-07 09:11

Pozostało 580 znaków

2019-02-06 16:34
0

Pisałem aplikację w React Native. Prosty kod na wysuwany panel zacinał, serwer musiał być restartowany co kilkanaście sekund. A większość sensownych bibliotek i tak musiała być implementowana w javie.

Ja podziękuję, może niektórzy piszą nałogowo w Js i lubią sobie napisać jakąś prosta apke w React native, jednak jeśli to jest jakikolwiek poważny projekt to tylko Java i Android Studio.


Pozostało 580 znaków

2019-02-06 16:53
0

Instagram, AirBnb czy Pintreset działają sprawnie, mimo że wykorzystują React Native. Aplikacja roku 2018, Drops, jest napisana w React Native, również działa sprawnie i jest raczej poważną aplikacją. Myślę, że React Native nie ma dużego wpływu na wydajność w większości aplikacji.

Ale AirBnB jakoś specjalnie zachwycone nie jest: https://www.nativescript.org/[...]cript-instead-of-react-native choć fakt, że jeszcze nie czytałem oryginału na https://medium.com/airbnb-eng[...]native-at-airbnb-f95aa460be1c [edit] ech, widzę, że na kolejnej stronie te same linki ;-) - Marooned 2019-02-07 09:14
Sprawnie to trochę za dużo powiedziane. - MiL 2019-02-25 16:23

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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