Jaką technologię najlepiej używać

0

Witam kolegów,
Pisze swoją appkę na androida (docelowo kiedyś tam chciałbym również, aby działała pod iOS), projekt hobbystyczny, może kiedyś przerodzi się w coś większego, może nie - czas pokaże. Niemniej jednak jest to aplikacja, którą bez większego researchu zacząłem pisać na potrzeby pracy inżynierskiej i tak w sumie już dużo dużo dalej ją pociągnąłem (szczególnie, że minął rok prawie od momentu obrony) i sęk w tym, że appkę robię w oparciu o Javę. Ostatnio zostałem "naprostowany", że w tym już praktycznie się appek nie robi, więc potencjalnie moje umiejętności z tego zakresu nawet nie będę mógł wykorzystać do szukania roboty jako android developer.
Pomijając już nawet tą kwestię - myślicie, że jest sens przerzucenia się na Fluttera / Kotlina, a jeśli tak, to którą technologię bardziej polecacie? Dodam, że magazynem danych dla aplikacji jest Firebase. Chodzi mi bardziej o to, czy rzeczywiście w/w języki są na tyle korzystniejsze, że opłaca się według Was poświęcić pewnie parę tygodni, żeby przepisać appkę na nie? Z Kotlinem na pewno jest łatwiej, bo można Javę na niego w Android Studio "przekonwertować", aczkolwiek skuteczności tego nie znam, tylko widziałem, że jest taka opcja.
Chętnie wysłucham pokornie każdą opinię czy propozycję, bo chciałbym zarówno siebie jak i ten projekt rozwijać. Trochę błędów zauważyłem w trakcie robienia, po czasie gdyż zawodowo aktualnie pracuję na jednym opensource'owym silniku, który pokazał mi trochę jednak bardziej profesjonalnego kodu i uświadomił, że struktura kodu nie jest optymalna, można zrobić to lepiej, stąd na pewno będę trochę to korygował, aby miało to jakiś sens, ale nim za to się zabiorę, to chętnie poznam Waszą opinię na temat tych technologii, bo jeśli rzeczywiście Java powoli przestaje się nadawać do moich celów, to lepiej będzie zrobić to od początku w innej technologii, niż teraz korygować, a za 2-3 miesiące i tak to przepisywać. :)
Czekam na opinię, z góry dzięki za opdowiedź!

2

Jeśli Twój projekt nie jest jakiś super duży na chwilę obecną, to może warto będzie po prostu wypróbować te technologie i przepisać go. Tak for fun, sprawdzić, w czym przyjemniej Ci się pisze :D Osobiście polecam Fluttera, ale nie jestem obiektywny, bo w kotlinie nie pisałem.

0

@witeks44: Hmm super duży raczej nie jest, chociaż roboty trochę będzie, ale mogłaby to być okazja, aby stworzyć to lepiej, tylko też ciekawi mnie, czy serio Java jest tak tragiczna juz pod kątem budowy na niej appek? :D No i czy przykładowo flutter ma jakieś ograniczenia, które ograniczałyby moje pole manewru, bo nie jest to niestety albo stety typowa "aplikacja TODO list" czy też kalkulator, a bardziej bardzo upraszczając dzienniczek treningowy z kalendarzem itd. (tak nie zagłębiając się w szczegóły), przez co fajnie jak będzie się dało w miarę prosto zbudować listę (coś jak RecyclerView w Javie, nie wiem czy jest te same nazewnictwo we flutterze), obudować w backendzie całą logikę do walidacji wprowadzonych danych, walidacji zdarzeń itd. :D Jak to wygląda pod tym kątem?

1

Osobiście nie wykonywałem jakiejś rocket science apki w nim, jednakże bardzo przyjemnie mi się pisało. Apkę piszesz od razu też na iOS, jednakże do jej testowania będziesz potrzebował komórki z iOS i uwzględnienie kilku innych rzeczy, które działają trochę inaczej, jednakże wygodnie się w tym pisze. Najlepiej jakbyś sobie zobaczył dokumentację, są też tam przykładowe aplikacje, być może Ci się spodoba :D No i też w necie są przykłady z użyciem Firebase(którego w swojej pracy też używałem) i konfiguracja była bardzo prosta, także imo warto spojrzeć w tym kierunku :D

3

Kilka podobnych wątków z ostatnich paru tygodni:

IOS - jaką technologię wybrać?
Flutter czy ReactNative?
https://4programmers.net/Forum/Mobilne/357301-flutter_sposoby_na_ios_bez_maca
Flutter - warto wchodzić czy uciekać?
Android czy iOS do komercyjnej apki?

W większości głosy są za Flutterem - jest on po prostu fajny, nadaje się do większości rzeczy (zwłaszcza nie jakoś mega-totalnie rozbudowanych), a do tego masz praktycznie out of the box wieloplatformowość - minimum wysiłku i masz apkę na (przepraszam za wyrażenie) Apple oraz na Androida. No i to, że stoi za tym Google, więc masz duże wsparcie (częste updaty/nowe wersje oraz wsparcie społeczności) oraz (podobno) docelowo Flutter ma być językiem głównym dla ekosystemu Google - to chyba wszystko działa na plus Fluttera.

0

@witeks44: Hmm super! Dzięki za odpowiedź, na pewno rozważę tą opcję, bo brzmi co najmniej dobrze - tym bardziej, że czas rozejrzeć sie za nowymi technologiami pod kątem rozwoju nawet zawodowego. :D A swoją drogą z doświadczenia - myślisz, że flutter z aplikacją do tworzenia list i zapisek w nich (zapisywanie progresu w ćwiczeniach na siłowni, mówiąc bardziej obrazowo), czy też potencjalnie z wyświetleniem prostego modelu 3d, czy rysowania jakichś prostych wykresów poradzi sobie dobrze? Właściwie nie szukam aktualnei niczego co byłoby tym rocket sience, cała appka będzie dosyć mocno rozbudowana, ale sama w sobie raczej będzie oparta w większości na dosyć prostych rzeczach, tak mi się wydaje, przynajmniej to co do tej pory robiłem, nie było nie wiadomo jak skomplikowane.

0

@cerrato: I również dziękuję za odpowiedź! :D Jeśli masz jakieś doświadczenia o które pytałem w poprzedniej odpowiedzi do innego użytkownika, to chętnie posłucham. Tak czy siak, chyba spróbuję się za to zabrać, mam nadzieję, że wystarczy mi cierpliwości, żeby zrobić drugi raz to samo. :D

0

Ja pisałem jakiś czas niekomercyjnie na fluttera i przez darta mi totalnie nie podszedł, fajnie się w nim piszę jakieś proste apki i widoki ale coś cięższego to katorga. Polecam spróbować i samemu ocenić.
Osobiście poleciłbym przerzucenie się na kotlina, ktory jest naprawdę super językiem i nie zamieniłbym go na żaden inny, dziwne że pisząc tyle czasu apkę go nie wykorzystałeś.
Przejście z javy na kotlina to szybka droga i w ciągu miesiąca zapomnisz już o javie ;) jetpack compose jest tylko w kotlinie btw. ale to już inny temat i to większa zmiana niż zmiana języka.

1

JetpackCompose ma się nijak do standardowego Android SDK. Co prawda piszesz w Kotlinie, ale to bardziej przypomina Fluttera, niż to, co zawsze widzieliśmy w Androidzie.

Więc w zasadzie płacisz wieloplatformowością za to, że możesz pisać w Kotlinie, zamiast w Dart. Czy warto? Jeżeli zależy ci koniecznie na tym, żeby pisać w Kotlinie, a nie planujesz obsługi innych platform, to może i warto. Tylko weź pod uwagę, że JetpackCompose jeszcze nie jest stabilny.

A tak btw, nieprawda że pisanie w Javie na Androida niczego nie uczy. Bo jeśli nie używasz JetpackCompose, to jest dokładnie to samo, tyle że w innym języku. Możesz sobie pisać w Javie, a potem gdy przejdziesz na Kotlina to zobaczysz, jaka Java była kiepska, ale cała wiedza na temat Android SDK, wzorców itd zostanie.

JetpackCompose to chyba taki eksperyment z wprowadzeniem takiego sposobu pisania apek jak we Flutterze do natywnego Androida.

0

@BialySokol39: @gajusz800: To mi teraz Panowie daliście ból głowy, a już miałem kupować szkolenie Fluttera na udemy, haha. :D Tak czy siak, dzięki za Wasze odpowiedzi, fajna dyskusja tutaj się wywiązała i mam tutaj już parę za i przeciw. Tak generalnie co do Fluttera jeszcze, to jest to język (no, Framework), gdzie backend również można w miarę przyjemnie pisać, czy tak jak to ktoś tutaj określił, spoko jest do tworzenia widoków, a poza tym to z backendem różnie? Pytam, bo pewnie dziś podejmę decyzję, co wypróbować, czy przepchnać cały projekt już istniejący na kotlina i w nim dłubać, czy napisać od nowa we Flutterze - zależy co ma większy potencjał. Tak jak wcześniej wspominałem, jakiegoś rocket sience raczej w mojej appce nie będzie pod kątem backendu, raczej rozpatrywanie różnych sytuacji i walidacja formularzy, odpowiednie generowanie list w widoku, możliwośc dodania do nich Swipe'owania oraz przenoszenia wraz ze zmianą kolejności w liście itd., także większość będzie podstawowa, a w razie czegoś trudniejszego, co też gdzieś w planach mam, ale znacznie dalszych, to najwyżej napiszę w innym języku i wrzucę przez API. Tylko jeszcze pytanie - robiliście już coś w taki sposób? Jest to "do ogarnięcia" i co ważne, nie jest mega problematyczne? :D No i próbowaliście kiedyś wrzucić jakiś model 3d, prosty, który ewentualnie będzie się dało z poziomu logiki aplikacji pokolorować + będzie można go obracać w jednej osi o 360 stopni? Pytam już tak orientacyjnie, może wiecie z doświadczenia lub coś o tym słyszeliście, a jeśli flutter nie utrudniałby i na tym polu zdecydowanie zadania, to na prawdę moze wytestuję. :)

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