Lazarus/Pascal i tworzenie oprogramowania dla systemu Android

Odpowiedz Nowy wątek
2019-07-19 11:24

Rejestracja: 2 lata temu

Ostatnio: 4 godziny temu

2

Myślałem, że ten cały LAMW to tylko sztuka dla sztuki, ale okazuje się że jednak da się zrobić całkiem fajną aplikacje dla systemu Android, napisaną w Object Pascalu przy użyciu Lazarus Android Module Wizard:)

https://play.google.com/store[...]s?id=swbcdx.cap.shortwavelist
Aplikacja całkiem nieźle działa i się prezentuje, nie tylko pokazuje częstotliwości radiostacji z całego świata ale je też odtwarza:)
Info, że to jest w Pascalu znalazłem na forum freepascal.org.
Ciekawe czy ktoś z Was próbował tworzyć w ten sposób aplikacje na androida? Mnie jak na razie nie chciało się bawić :(

edytowany 2x, ostatnio: furious programming, 2019-07-19 16:44

Pozostało 580 znaków

2019-08-02 14:45

Rejestracja: 2 lata temu

Ostatnio: 4 godziny temu

2

Aplikacja randkowa(!) w Delphi ;-)

Pozostało 580 znaków

2019-08-03 12:33

Rejestracja: 7 lat temu

Ostatnio: 1 dzień temu

1

Apka ładna i schludna, a że w Delphi? TO nie ma żadnego znaczenia. Można ją zrobić w czymś darmowym i uzyskać ten sam efekt. Dodatkowo taki rodzaj aplikacji musi mieć solidny backend serwerowy, a my tutaj widzimy tak naprawdę możliwości GUI. Podsumowując cieszę się, że ktoś się bawi tym, ja bym sam w to nie szedł.

edytowany 1x, ostatnio: lampasss, 2019-08-03 12:33

Pozostało 580 znaków

2019-08-05 10:52

Rejestracja: 1 rok temu

Ostatnio: 9 miesięcy temu

2

KisKis jest napisany w Delphi, ale nie przy użyciu gołego FireMonkey (FMX), który jest do kitu i nie pozwala uzyskać takiego dobrego GUI out of the box jak Flutter. Ta apka używa biblioteki Alcinoe (https://github.com/Zeus64/alcinoe), ktróre mocno poprawia to co EMBA spratoliła w FMX plus wiele rzeczy jest tam robione natywnie poprzez iOS API/Android API.

Samo Delphi jest OK, też mam na produkcji iOS oraz Androida napisane w Delphi plus cały back-end w Azure i działa to pięknie, ale my np. użyliśmy FMX i żeby apka miała jako taki performance i dobrze wyglądała, trzeba robić całą masę work-around'ów. Generalnie koszmar, bo za tak gruby hajs zamiast po prostu pisać w FMX, najpierw trzeba nauczyć się jak ominąć masę głupot i ograniczeń.

Jeśli ktoś chce pisać mobilne apki w Delphi, to być może lepszy będzie FGX od byłego pracownika EMBA (Yaroslav Brovin) :) Póki co w wersji beta, ale wygląda to bardzo dobrze, to samodzielny framework (bez FMX), który daje to co FMX tylko obiecuje, ale nie potrafi zrobić :)

Pokaż pozostałe 3 komentarze
@Kristof: to nie bylo pytanie retoryczne ani zlosliwe. Chyba warto wiedziec skad taka decyzja? W koncu zgodzisz sie ze to nie jest taki naturalny wybor? - stivens 2019-08-05 12:03
Oj pewnie, że się zgadzam:) tym bardziej wyjaśnienie kolegi TommyDev są ciekawe! - Kristof 2019-08-05 12:14
No to nie musisz od razu takiej defensywnej postawy przyjmowac :p - stivens 2019-08-05 12:17
@TommyDev: ja z kolei mając doświadczenie z VCL zawsze odradzam FMX ;) Xamarin nie jest zły, aczkolwiek nieco inne podejście. A myśleliście o Cordova? - somedev 2019-08-05 12:27
@somedev: nie, Cordova nie była brana pod uwagę. - TommyDev 2019-08-06 07:31

Pozostało 580 znaków

2019-09-20 11:15

Rejestracja: 2 lata temu

Ostatnio: 1 dzień temu

0

Jakie przykładowe problemy napotkaliście podczas developmentu w Firemonkey ? Jak je obeszliście ? Czy w kontekście zdobytych doświadczeń rozważylibyście Firemonkey do kolejnej aplikacji pisanej od 0 ? Pytam, bo jestem zainteresowany tą technologią.

Pozostało 580 znaków

2019-09-21 16:30

Rejestracja: 2 lata temu

Ostatnio: 1 dzień temu

1

Ja po zrobieniu swojej pierwszej apki na Androida, zauważyłem, że podczas przewijania palcem scrollboxa uruchamiam akcje spod przycisków znajdujących się na tym scrollboxie. Okazało się, że jak dam zdarzenie OnClick, tak właśnie się dzieje. Trzeba używać OnTap :) Szkoda, że OnClick nie jest uniwersalne dla różnych platform i działa prawidłowo tylko w zakresie klikania/przyciskania, ale już źle dla przewijania itp.
Drugi problem napotkałem z TEdit, gdy dałem w nim element TClearEditButton (czyli znak X po prawej stronie pola, służący do wyczyszczenia pola), to po jego naciśnięciu apka się wykrzaczała z jakimś błędem. Było to wersji 10.3.0 lub 10.3.1 (już nie pamiętam). Nie sprawdzałem czy tak samo jest w najnowszej 10.3.2.

Pozostało 580 znaków

2019-09-21 17:46
Moderator Delphi/Pascal

Rejestracja: 8 lat temu

Ostatnio: 9 godzin temu

Lokalizacja: Tuchów

0

Ale co to ma wspólnego z tematem tego wątku, czyli z tworzeniem aplikacji dla Androida w Lazarusie…? :/

Jeśli chcecie podyskutować o tworzeniu programów w Delphi to załóżcie osobny wątek.


edytowany 3x, ostatnio: furious programming, 2019-09-21 17:47

Pozostało 580 znaków

2019-09-27 10:42

Rejestracja: 1 rok temu

Ostatnio: 9 miesięcy temu

1
XailonOZ napisał(a):

Jakie przykładowe problemy napotkaliście podczas developmentu w Firemonkey ? Jak je obeszliście ? Czy w kontekście zdobytych doświadczeń rozważylibyście Firemonkey do kolejnej aplikacji pisanej od 0 ? Pytam, bo jestem zainteresowany tą technologią.

  1. Start aplikacji przy dużej ilość widoków - trzeba pamiętać aby ze startu usunąć wszystko zostawiając jeden ekran robiący za splash screen z ładną animacją (nie, nie używamy statycznego obrazka, który standardowo jest dla iOS i Android), reszta widoków to już lazy creation. Apka startuje błyskawicznie (iOS + Android), a poszczególne widoki na zawołanie zwykle poniżej 0,6 s. (oczywiście zależy też od tego jak ciężki widok zbudowaliśmy i czy w OnCreate nie ma jakiegoś potworka).

  2. Brak płynnych animacji, zacinanie się widoków np. jeśli scroll-box ma po 10 i więcej elementów, nie będzie się płynnie przesuwał, dlatego że każdy element jest rysowany ponownie podczas przesuwania, czyli jedna klatka i repaint wszystkich elementów, płynna animacja nie jest możliwa w FMX by design (brzmi kozacko!). Należy własnoręcznie zaimplementować cache dla widoków, żeby podczas przesuwania nie przerysowywać milion razy wszystkich elementów.

  3. TAniIndicator - zło straszne, potrafi wywalać apkę. Zamiast tego używamy TBitmapListAnimation dla naszych własnych wskaźników zajętości. Działa pięknie.

skrzat napisał(a):

Drugi problem napotkałem z TEdit, gdy dałem w nim element TClearEditButton (czyli znak X po prawej stronie pola, służący do wyczyszczenia pola), to po jego naciśnięciu apka się wykrzaczała z jakimś błędem. Było to wersji 10.3.0 lub 10.3.1 (już nie pamiętam). Nie sprawdzałem czy tak samo jest w najnowszej 10.3.2.

Ja do TEdit po prostu dostawiam własnego "X-a" i rzucam akcję typu Edit.Text:=''; działa zawsze :) Generalnie, w FMX sprawdza się zasada, im prościej tym lepiej, jak się da, nie używać komponentów, tylko ręcznie wyklepać itp. itd. No i używać asynchronów, a nie wszystko pakować do głównego wątku :)

Jak znajdę czas to wrzucę jakiś artykuł o FMX i doświadczeniach z tym tworem. Flutter nieststy lepszy, ale dla fanów Delphi zostaje jeszcze FGX, którego będę także testował, może być ciekawie :)

Pozostało 580 znaków

Odpowiedz

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