Zalogowany jako: gość

Forum

Wątek: Elten mobilny na Xamarinie, propozycja i projekt prac

Wróć do listy wątków

1 z 1

1 z 15: pajper

Witajcie!
W wątku tym przedstawiam widoczny przeze mnie sposób pracy, jeśli zdecydujemy się na rozwój aplikacji mobilnej w Xamarinie. Nie ukrywam, że chciałbym móc przedstawić pierwszą funkcjonalną betę we wakacje, funkcjonalną oznacza tu zawierającą wszystkie funkcje obecnej gałęzi Eltena iOS. Dlatego prosiłbym zainteresowane osoby o potwierdzenie, czy chcą wejść w taką współpracę.
Poniżej kilka wstępnych wizji.

Generalnie trzeba przede wszystkim jakoś podzielić aplikację. Obecny serwerowy backend jest... no... przeciętny, ale na potrzeby Eltena 2.4 i integracji powstaje nowe API resztowe, które zostanie opublikowane w ciągu tygodnia albo dwóch. Idea jest taka, by jedno API było wykorzystywane przez wszystkie platformy, w tym aplikację desktopową.
API to JSON i chyba najlepiej by było, gdybym zajął się backendem właśnie, czyli integracją kodu z serwerem.

Co do warstwy abstrakcji, chciałbym zaimplementować tu wypracowane dla Eltena iOS rozwiązanie z drzewkiem węzłów, w którym wiadomości, blogi, fora i inne obiekty są reprezentowane przez wspólne klasy abstrakcyjne. Ogromna część ich kodu i tak będzie współdzielona, a w ten sposób mamy bardzo ładną możliwość rozwijania aplikacji.

W grę wchodzi wzorzec MVC, jak w Eltenie dla iOS.
Jeśli będzie zainteresowanie, postaram się pod koniec tygodnia przedstawić wstępny projekt z implementacją modelu MVC i rozpiską klas wzorcowych. I fajnie by było, by kiedy ja będę zajmował się backendem, ktoś obczaił frontend. :D
Xamarin.Forms jest zasadniczo czymś między WPF i Winformsami, z językiem XAML, co ja osobiście uznaję za wadę, ale na wypadek plaformy mobilnej może być błogosławieństwem.

Trzeba rozejrzeć się też za bibliotekami i komponentami. Do obsługi JSON na pewno użyjemy Newtonsoft.JSON. Tej biblioteki używałem w kilkunastu projektach C# i uważam ją za arcydzieło. :D
Na pewno trzeba wybrać i zaimplementować jakąś obsługę audio, i to z obsługą Opusa. I tutaj osobiście bym się skłaniał za używanym w Eltenie PC Bassem. Elten iOS używa biblioteki AP4Y, ale nie jest ona cross-platformowa, a uważam, że pisanie osobnego API dla iOS i Androida mija się z celem. Z drugiej strony trzeba sprawdzić i ocenić, na ile takie rozwiązanie będzie dobrym kompromisem - nagrywanie audio na Andku wcale nie jest tak prostą sprawą, a Bass wydaje się w tej materii dość ograniczony.
Niezależnie czy Bass czy coś innego, trzeba rozplanować jakieś klasy do obsługi audio, bo chcę sobie zostawić furtkę do zmiany biblioteki, gdyby coś się nam miało sypnąć.

Generalnie trzeba się zastanowić, kto jaką częścią kodu mógłby się zająć. Pytania tak na pierwszy rzut oka:
1. Obecna aplikacja iOS dzieli się na zakładki i sprawdza się to bardzo dobrze.
Trzeba zobaczyć, czy da się coś takiego osiągnąć w Xamarin Forms, a jeśli nie, jak można to obejść.
2. Strasznym problemem w implementacji są masy treści.
Wpisy na forach są długie, bardzo długie. Najwygodniej umieszczać je w iOS-owym TableView, pewnie na Xamarinie coś w stylu ListBox. Tylko miałem straszny problem z przeskakiwaniem wierszy i w ogóle ogromnymi rozmiarami kontrolek. Ostatecznie workaroundem był subclassing całej kontrolki. Trzeba zorientować się, jak kwestia wygląda w XamarinForms.
3. Trzeba opracować jakieś fajne API do requestowania serwera.
Coś na tyle uniwersalnego, by było funkcjonalne, a za razem łatwo się implementowało. I chyba najlepiej będzie zrobić metodę, która wysyła zapytanie, a w razie błędu wyświetla go na ekranie i daje użytkownikowi opcję "Ponowienia próby" lub "ignorowania".
Zapytania muszą być oczywiście asynchroniczne. Znana z Desktopów biblioteka HTTPClient na pewno nie jest odpowiedzią, bo jest strasznie powolna.

To tyle tak na szybko.
#StandWithUkraine Shoot for the Moon. Even if you miss, you'll land among the stars.
16.06.2020 01:04

2 z 15: daszekmdn

A jak ma wyglądać ten frontent?
To się w ogóle przy tworzeniu na pc da testować?
Ja bym pomógł, ale jestem zbyt kiepski, bo dopiero pierwsze kroki stawiam.
Ale jeśli frontent można wyklikać jak w WinFormsach to czemu nie?

16.06.2020 01:15

3 z 15: pajper

Podobnie jak dotychczas. ;) To znaczy trzeba się zastanowić, co było dobre, a co jednak... No... średnie.
Na Macu jest emulator iOS, który jest... Znośny. Działa dość dobrze, ale ma problemy z dostępnością, VO często się crashuje. Ale da się go używać i testować.
Nie wiem, jak wygląda kwestia Androida, tj. są emulatory, nie wiem, czy dostępne.
#StandWithUkraine Shoot for the Moon. Even if you miss, you'll land among the stars.
16.06.2020 01:16

4 z 15: lukasz1993258

Witam.
jeśli dobrze zrozumiałem, to w te wakacje ma wyjść funkcjonalna beta eltena na ajoesa tak?, jeśli tak, to gdyby była możliwość, to chciałbym chociaż potestować sobie.
niestety ale nie jestem dobry wprogramowaniu, ale myśle, że mugbym chociaż jakieś błendy wychaczyć, ewentualnie, gdybym się przyjżał dokładnie wszystkim funkcją, jakie ma elten na ejoes, to być morze mugbym coś jeszcze zaproponować. to chyba zmojej strony jak narazie tyle, wrazie jakich kolwiek pytań, prosził bym o zadawanie w wiadomościach prywatnych, i życze miłej czercowej nocy.

16.06.2020 01:21

5 z 15: misiek

Tu jest mowa o Androidzie.
Po co na świecie są białe koty? Po to, by czarni też mogli mieć pecha.
16.06.2020 04:05

6 z 15: zywek

Tu jest mowa o wszystkim, z tego co wiem, no chyba, że faktycznie tylko Android. Ja mogę w to pójśc, choć w takim razie dużo nauki mnie czeka :D a tak jak mówiłem teraz, przez najbliższe 2 do 3 tygodni mnie za dużo nie bedzie.

16.06.2020 07:23

7 z 15: Paulinux

Nie wiem, na jakiej konkretnie współpracy Ci zależy, ale jeśli mogę w czymś pomóc, to jestem chętna. Android.
ENTJ
16.06.2020 11:32

8 z 15: pajper

Tak, mowa jest o iOS/Android na jednym kodzie.
Przyznam, że zespół jest dość mały. Tu raczej apel, podpytajcie znajomych programistów, może ktoś jeszcze przyłączy się do projektu. :)
#StandWithUkraine Shoot for the Moon. Even if you miss, you'll land among the stars.
16.06.2020 12:02

9 z 15: longshoot

zróbcie kurde wontki na zagranicznych foracha nie tylko u polaków się to wszystko dzieje,.

21.06.2020 05:16

10 z 15: pajper

Wątki o źródłach, kodzie i poszukiwaniu programistów na angielskich forach są. Nie pisałem o Xamarinie, ale też w tamtych tematach prócz Sashy (Rosja) nie było żadnego zainteresowania.
Jednak udział programistów jest w PSE większy.
#StandWithUkraine Shoot for the Moon. Even if you miss, you'll land among the stars.
22.06.2020 03:55

11 z 15: daszekmdn

No, ale może będzie zainteresowanie jak napiszesz o Xamarinie właśnie.

22.06.2020 08:14

12 z 15: mikolajholysz

Jedna rzecz w tym wszystkim.

Chcemy tego czy nie, Elten, mobilny, musi, wyglądać, dobrze.

To nie jest strona, gdzie przejdzie wszystko. Tutaj, prędzej czy później, natkniemy się na komisję Apple'a od zatwierdzania aplikacji i decydowania, czy takowe mogą trafić do App Store czy nie. Coś wyglądające tragicznie zostanie odrzucone.
w związku z przesiadką na Maca, prawie mnie tutaj nie ma. Inne sposoby kontaktu w wizytówce.
25.06.2020 14:53

13 z 15: pajper

@żywek
Jaki jest twój status i Hermisa? Wchodzicie w to?
Zgłosił się do projektu nuno69, więc formuje nam się całkiem sensowny zespół.
#StandWithUkraine Shoot for the Moon. Even if you miss, you'll land among the stars.
01.07.2020 21:23

14 z 15: zywek

Hermis nie wiem, czy wchodzi, chciał, ale nie umie tego, co trzeba, zresztą ja też nie umiem, więc zamiast sobie zrobić wakacje chyba sobie zrobię szkołę domową. Generalnie chce pomóc, więc muszę się tych MVC-ów i xamarinów nauczyć, ale generalnie wchodzę.

01.07.2020 21:30

15 z 15: nuno69

Witajcie!
No to oficjalnie informuję, że wchodzę w to i jestem oficjalnie w zespole.
- "Intelligence and wisdom is like jam. The less you have, the harder you're trying to spread it arround." - French proverb
01.07.2020 22:24

Wróć do listy wątków

1 z 1


Nawigacja


Copyright (©) 2014-2024, Dawid Pieper