Hejto.pl
Dodaj post

Wpisz coś do wyszukania (minimum 2 znaki)

Wpis użytkownika qarmin w Programowanie

Twórca

w Programowanie

2piorunów

Mam bardzo wymagającego klienta - siebie - i ten oto jegomość pod wpływem impulsu i zewnętrznych potrzebuje napisać 3 aplikacje:

* serwer
* aplikacja desktopowa
* aplikacja na smartfony

Aplikacje będą się logowały na serwer i pobierały/zapisywały tam dane - standard.

Problem jednak jest z wyborem technologii.
Z serwerem nie ma problemu, bo tutaj będę korzystał z dobrze mi znanego rusta.

Jednak nie wiem co wybrać do napisania aplikacji na komórkę i desktopa, gdyż jestem głównie backendowcem + znam trochę qt, gtk, slint, ale z grubsza chcę stworzyć jedną aplikację na obie platformy, więc te typy odpadają bo albo nie mają wsparcia dla androida, albo jest ono na bardzo wczesnym poziomie.

Zastanawiam się nad Tauri + Svelte, bo wydaje się ciekawą opcją, a na pewno nie chce mi się tego pisać w jakimkolwiek stopniu w javie, a też czystego javascriptu unikam jak ognia.

Komentarze (13)

Fanatyk1piorunów

@qarmin - no i na czym w końcu stanęło kolego?
Ja jeszcze coś takiego znalazłem: https://www.skeleton.dev/docs/tauri - wiele funkcjonalnych komponentów do UI pod Svelte i ma integrację z Tauri.

404 · SkeletonPage Not FoundSkeleton
Fanatyk1piorunów

@qarmin - ja zakochałem się w Svelte (a właściwie w SvelteKit) i robię w nim narzędzia wewnętrzne.
Problemy się czasem pojawiają ale ja osobiście nie utknąłem na więcej niż jeden dzień (gdy na przykład przy Angularze rwałem włosy z głowy a przy Reakcie mi często przez kilka dni nie chciało działać).
Zawsze troszkę miałem nie po drodze w WebDevem (chociaż przez ostatnie 10 lat próbowałem chyba wszystkiego do WebDevu co wyszło) i SvelteKit jakoś mi tak naturalnie wszedł i bez oporu (pomimo tego, że kiedy zaczynałem 2 lata temu z nim to był niestabilny i przechodził wiele zmian).
Do tego Tauri 2.0 wyjdzie niedługo z bety i działa ze SvelteKit więc do pisania apek multiplatformowych jak znalazł 👍

Twórca1piorunów

@koszotorobur Raczej stanęło na tauri.

Dużo decyzji(wstępnej póki co) pomogło bardzo proste tworzenie plików apk, nie muszę szukać, grzebać ani konfigurować żadnych plików gradle ani jakichkolwiek innych javowych/androidowych rzeczy, po prostu kompiluję a plik apk się wypluwa i wrzuca od razu go na emulator(chociaż miałem trochę problemów by to poprawnie skonfigurować)

W pracy szef korzysta ze svelte i nawet mówi że to niezłe, chociaż ma czasami trudności i też nie próbował nigdy żadnego innego frameworku, więc porównania też nie ma, czy coś nie działa o niebo lepiej

Zawodowiec2piorunów

@qarmin pisz backend w kotlin, a części wspólne (model itp.) wrzucaj przez kotlin multiplatform na moblilkę i desktop. Zobacz sobie, do czego się to to kompiluje i na tej podstawie wybierz technologię mobile/desktop. Zawsze trochę mniej roboty jak już masz jakiś kawałek i go re-używasz, nie?

Specjalista1piorunów

React native? Flutter? Obie technologie pozwalają pisać na praktycznie wszystkie popularne platformy

Fanatyk1piorunów

@Flaaj - Flutter od wersji 3.0 wspiera tworzenie aplikacji na platformy mobilne i desktop - niemniej wraz z językiem Dart jest to nowa rzecz do nauczenia.
Ja osobiście już wolałbym użyć silnika do gier, który wspiera eksport na różne platformy jak Godot czy GDevelop - bo je znam i byłbym w stanie napisać w nich aplikację od ręki (użyłbym gotowych komponentów interfejsu, by nie wymyślać wszystkiego od nowa).
Oczywiście jak ktoś ma ochotę uczyć się nowych rzeczy to nic mu nie stanie na przeszkodzie - ale czasem człowiek chce mieć po prostu coś działającego :stuck_out_tongue_winking_eye:

Fanatyk3piorunów

@qarmin - pisz w czym Ci wygodnie ale unikaj egzotyki.
Svelte od ponad roku nie jest egzotyczny i można pisać w nim apki mobilne i Desktopowe na kilka sposobów (prócz wspomnianego przez Ciebie Tauri):

* https://capacitorjs.com/solution/svelte
* SvelteKit + Cordova
* https://svelte-tutorial.meteor.com/
* https://framework7.io/svelte/menu

Ja osobiście bardzo lubię Rusta i SvelteKit i sam bym starał się w nich pisać bo byłoby to najbardziej efektywne.

Using Capacitor with SvelteBuild iOS, Android, and Progressive Web Apps with SvelteCapacitor
Sum1piorunów

Qt nie ma wystarczającego wsparcia ma Androida?

Twórca0piorunów

@psalek C++ głównie.

Chociaż aplikacja qt którą w pracy ciągle rozwijam, to miszmasz kilku rozwiązań

* C++ - bazowe komponenty, łączenie z curl, bazą danych etc., tworzenie niektórych modeli do qml
* QML - graficzne elementy
* Javascript/Typescript - resty, różne nieco bardziej skomplikowane operacje, logika w plikach QML
* Python - generacja walidacji dla danych - tylko wymagane przy budowaniu

Pisząc aplikację czysto C++, reszta nie byłaby mi potrzebna, ale nie jestem fanem zarówno C++, jak i tworzenia kodu z poziomu kompilowanego języka.
Jeśli jednak bym korzystał z QML, to najłatwiej byłoby użyć javascript by obejść jego ograniczenia, potem przejście na typescript celem minimalizacji błędów a na końcu walidacja danych wejściowych/wyjściowych funkcji - czyli pewnie skończyłbym tak jak w pracy z 4 językami do projektu.

Twórca0piorunów

@psalek Z tego co teraz patrzę, to jednak niby ma, ale po doświadczeniach z Qt na desktopie nie odważyłbym się użyć go do mobilnych zastosowań(choć nieco qml kusi - ale tylko nieco)