Witam.
Nie wiem czy to dobry dział na żale i płacze, więc jak coś to proszę o przeniesienie.
Xamarin
Domyślam się, że frameworki cross-platform nie są aż tak mocne jak natywne. Szczerze mówiąc nie potrzebuję wiele i czuje, że wszystko skończy się tą technologią biorąc pod uwagę, że Xamarin Forms 4.0 Shell to duże uproszczenie, a też dziennie po 8 godzin programuje w C#.
Interesuje mnie tylko aplikacja na Androida, więc po co mi Xamarin Forms? Ze względu na XAML, niemiłosiernie męczy mnie ten Androidowy XML. Nie wiem dlaczego XAML jest dla mnie czytelniejszy. Kiedyś pisałem aplikacje na Windows 8 (na swoją obronę, milion lat temu) i może ten projekt mnie "nastroił" na XAML, że wiem czego się spodziewać.
Java/Kotlin/Flutter
Cały dzisiejszy dzień spędziłem na ogarnięciu Android Studio, Kotlin i UI. Po 8 godzinach zrobiłem tylko początkową stronę aplikacji i wymiękłem... Instalując Visual Studio mam gotowe narzędzie do pracy, w przypadku Android Studio... Niestety nie. Na start błędy w XML interfejsu, brak okienka Design. Pierwszą godzinę męczyłem się, aby przygotować środowisko do pracy. Później już szło gładko, coraz lepiej. Efekt końcowy interfejsu wyszedł tak jak chciałem, ale... Biblioteki com.android
przenoszą się na androidx
, pełno tutoriali na necie z wykorzystaniem tego pierwszego, coś trzeba dogrywać, coś trzeba pozmieniać. No i ten nieszczęsny XML, choć tutaj udało się wyklikać wiele rzeczy za pomocą designera. Może moje nastawienie spotęgowało niechęć do "natywnego" programowania na Androida. Kotlin też nie jest taki piękny jak go malują, a Javę omijam szerokim łukiem - trochę przez stereotypy, trochę przez składnie.
background story
Pisałem już na temat mojego problemu
Angular 7 + PWA + Service Worker - czy jest opcja, aby aplikacja pracowała tak samo offline jak pracuje online
Doszliśmy do wniosku, że nie będziemy poprawiać gotowej aplikacji, aby działało cache'owanie poprawnie, tylko napiszemy natywną apkę z bazą danych na Androida, która będzie działać offline i tylko synchronizować dane jak tylko użytkownik znajdzie neta. Banalnie prosta apka do wrzucania zamówień do SQLite. Nawet synchronizacja z API była by na guzik.
Poległem...
zakończenie
Ewidentnie można wywnioskować, że wychwalam Xamarina, więc po co w ogóle ten post skoro mam rozwiązanie i technologię? Otóż potrzebuje bodźca, nakierowania, czego potrzebuje i czy faktycznie jest sens bawić się w natywne, skoro mam już doświadczenie w C# i XAML. Może są jakieś biblioteki do natywnych, o których nie wiem, ułatwienie życia, nauki. Może są tutaj ludzie, których też wkur*, denerwuje XML natywnych, Java, Kotlin, a muszą to robić. Jak przez to przebrnęli?
##PS
Pytanie chyba powinno być - tracić czas na nowe technologię czy iść za doświadczeniem?
Musiałem się wygadać komuś doświadczonemu, żona nie chciała mnie słuchać :D