W czym aplikacji cross platform ?

0

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 ?

0

Jeżeli chodzi Ci o wydajność to generalnie jest mocno zależne, co ta apka ma robić :P

1

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

0

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?

1

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)

1
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.

0

Czyli taka hybryda ? To jest to lepsze rozwiązanie niż Xamarin czy React bo mogę tak naprawdę napisać wszytskie co się da napisać natywnie?

0

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.

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