Cześć
Ostatnio przeczytałem że można pisać w Kotlin aplikacje multiplatformowe. Czy ktoś może napisać jak wypada to w porównaniu z Xamarin ?
W czym aplikacji cross platform ?
- Rejestracja: dni
- Ostatnio: dni
- Postów: 17
- Rejestracja: dni
- Ostatnio: dni
- Postów: 82
Jeżeli chodzi Ci o wydajność to generalnie jest mocno zależne, co ta apka ma robić :P
- Rejestracja: dni
- Ostatnio: dni
- Postów: 560
Pytanie tak naprawdę jest co potrzebujesz, co rozumiesz przez "wydajniesze". Jeżeli o to która aplikacja jest "szybsza" to pytanie jest który kompilator do natywnego kodu jest lepszy, a to pewnie też zależy od platformy.
Jeżeli chodzi Ci o to która jest łatwiejszy, i wydajniej się w tym pisze, to pewnie zależy od tego czy Ty jesteś bieglejszy w C# czy w Kotlinie, i który IDE Ci bardziej leży.
Z mojej krótkiej przygody z KMM powiem tyle, że jest całkiem ok , Xamarina używałem ostatni raz 6 lat temu, więc moje informacje mogą być nieaktualne.
Jeżeli chcesz coś do szybkiego klepania prostych apek w stylu pokaż dane z JSON-a z Api to polecam Fluttera
- Rejestracja: dni
- Ostatnio: dni
- Postów: 17
Ja sam porgramowałem 2 lata w Xamarin od 2016-2018 i wiem że od kąd przejął to MS mocno zaczeło się rozwijać. Na codzień pracuje w Javie backend. Chce również rozwujać się od strony mobilnej i zastanwiam się co będzie lepszym wyborem. Apki wykorzystujące, notifikację, żyroskop, gps itp. Więc tez fajnie były jakby to było juz pokryte daną technologią. W Xamrinie początkowo było tak że trzeba czsami przepisać z natynego rozwiązania na c#. W Kotlinie nigdy nie kodowałem ale jak koduje w Javie to chyba dobry kierunek? Głownie własnie chodzi mi o wsparcie i pokrycie kodu natywnego?
- Rejestracja: dni
- Ostatnio: dni
- Postów: 560
z Javy na kotlina luzik , natomiast KMM jeżeli chodzi o wyciaganie np. czujników z urządzenia działa w dosyć specyficzny sposób, bo wtedy piszesz kod na konkretnej platformie, np. implementujesz już konkretnie w Swift na iOS albo w Koltinie na Androida jakiś "interfejs". i klepiesz już sobie zupełnie natywny kod. Dla mnie to jest dobre rozwiązanie bo znam obie platformy, ale jak ktoś miałby się uczyć od 0 to nie wiem czy tak prosto by to było, tutaj masz opis jak się takie rzeczy robi w KMM
https://kotlinlang.org/docs/mobile/connect-to-platform-specific-apis.html#example-send-and-receive-messages-from-a-websocket
I tak zasadniczo jest ze wszystkim , więc jeżeli chodzi o łatwość nauki takich rzeczy to takie Multi nakładki jak Xamarin czy Unity zadziałają pewnie lepiej (czytaj prościej)
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Kraków
- Postów: 834
wojciechmaciejewski napisał(a):
natomiast KMM jeżeli chodzi o wyciaganie np. czujników z urządzenia działa w dosyć specyficzny sposób, bo wtedy piszesz kod na konkretnej platformie, np. implementujesz już konkretnie w Swift na iOS albo w Koltinie na Androida jakiś "interfejs". i klepiesz już sobie zupełnie natywny kod.
No nie do końca. Główna zaleta KMM jest taka, że piszesz kod w Kotlinie dla każdej z platform. Przy czym możesz pisać na iOSa w Swifcie, jeśli masz taką potrzebę. Czyli kody Kotlin native i Kotlin common są widziane w Swificie jako Swift, kod Swifta jest widziany jako Kotlin native. Analogicznie Obj-C. I dodatkowo do tego, kod Kotlin native, może być widzany we współdzielonym kodzie Kotlina jeśli tego potrzebujesz i współdzielony kod Kotlina jest widzany w Kotlin native i w Swift/Obj-C. Jest bardzo duża dowolność i język nie jest jakimś podzbiorem platformy, tylko można w nim w pełni korzystać platformy.
- Rejestracja: dni
- Ostatnio: dni
- Postów: 17
Czyli taka hybryda ? To jest to lepsze rozwiązanie niż Xamarin czy React bo mogę tak naprawdę napisać wszytskie co się da napisać natywnie?
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Kraków
- Postów: 834
Nie, aplikacje hybrydowe to są rzeczy typu PWA czy Ionic. Czy jest lepsze, to zależy czego szukasz i czego potrzebujesz. Moim zdaniem jest lepsze, bo nie zamyka platformy, tylko pozwala z niej dowolnie korzystać. Ale jest to bardzo młoda technologia i natrafia się na różnego rodzaju problemy.