Aplikacja sklepu Android - serwer, zarządzanie

0

Mam pytania związane z napisaniem aplikacji Android.
Dobrym przykładem jest aplikacja sklepu.

Kiedy masz napisaną aplikację sklepu to chcesz co jakiś czas zaktualizować ofertę, np. zmienić cenę, dodać produkt i tym podobne.

Wyobraźmy sobie taką sytuację, bo łatwiej jest to ogarnąć na przykładzie.

Wypuszczasz napisaną aplikację na google play. I teraz ja jako admin chcę dodać jakiś produkt, zmienić cenę itp. I teraz chcę żeby wszystkim
którzy pobrali to się zmieniło, "zaktualizowało" ale bez aktualizacji aplikacji, tzn. zmieniają się dane, ale nie robili tego na zasadzie, że wchodzą do google play'a i aktualizują aplikację.

Jak takie coś zaimplementować, czy google w docs do android opisują to?

Inna rzecz - tylko admin/właściciel może zmieniać content aplikacji, czyli szary użytkownik apki tego nie może robić, więc żeby coś takiego zrobić to muszę jakby napisać jedną wersję aplikacji, tyle, że na login-hasło ktoś będzie miał uprawnienia administratora i pojawią się dodatkowe opcje, czy może jest na to inny sposób? Bo wtedy ktoś kto pobiera apke to pobiera dużo nie potrzebnych opcji, których nigdy nie użyje, czyli apka będzie nie potrzebnie dużo ważyć..

Jeżeli wprowadzić opcję z login-hasło -> konto użytkownika - to wtedy należy posiadać bazę danych żeby sprawdzać zgodność zalogowania itp itd. Jak taką bazę/serwer postawić?

Czy ktoś może ogarnia ten temat i podzielił by się rozwiązaniami?

Może znacie jakieś tutoriale?

1

Wypuszczasz napisaną aplikację na google play. I teraz ja jako admin chcę dodać jakiś produkt, zmienić cenę itp. I teraz chcę żeby wszystkim
którzy pobrali to się zmieniło, "zaktualizowało" ale bez aktualizacji aplikacji, tzn. zmieniają się dane, ale nie robili tego na zasadzie, że wchodzą do >google play'a i aktualizują aplikację.

Np postawić jakis backend, który wystawia resty, a twoja androidowa apka je tylko "konsumuje"

1

czy google w docs do android opisują to

Nie powinni

chcę żeby wszystkim którzy pobrali to się zmieniło, "zaktualizowało" ale bez aktualizacji aplikacji

Aplikacja może się komunikować z jakimś serwerem przez INTERNET. Np. przez protokół HTTP.
Wtedy sobie stawiasz tzw. serwis REST, który przez HTTP udostępnia dane. Jako androidowcowi, zapewne najwgodniej będzie Ci go napisać w kotlinie. Myślę, że jak zapytasz google o "spring boot kotlin rest api", to poprowadzi Cię do łatwych tutoriali. Jak je przerobisz, to możesz zacząć się interesować bazami danych; myślę, że najłatwiej będzie Ci ogarnąć mongo DB.

Jak już sobie napiszesz apkę, która z telefonu, kontaktuje się z serwisem RESTowym na Twoim kompie w sieci lokalnej, możesz się zacząć zastanawiać jak ten serwis REST postawić w internecie (hasła w google : VPS ubuntu, deploying Spring Boot application ubuntu, install mongo ubuntu.

W apce sobie przygotowujesz config, żeby zamiast łączyć się z URLami lokalnymi, łączyło się z serverem, który sobie postawiłeś na VPS.

Wrzucasz apkę do sklepu i gotowe, możesz zacząć zarabiać swoje pierwsze skromne miliony.

PS. Jeśli chodzi o administracje produktami/zamówieniami/userami itp. to raczej wolałbyś robić to z poziomu desktopa, więc ja bym raczej napisał apkę webową do tego.

0

Szukasz tutoriala, który pokaże tobie od A-Z jak wystawić restowe APi na twoje usługi?

0

Zawsze zastanawialem sie jak to dziala ze jak grasz z kims przez neta to ty widzisz co on robi i nawzajem.

Kiedy przegladalem apki w storze to probowalrm rozkminic jak dzialaja apki typu Lidl, allegro, olx itp.

I w sumie dlaczego sie nie zapytac na forum jak ktos ogarnia temat.

Kto wie moze nawet wyskrobac cos swojego dla nauki, praktyki. A ze nigdy nie robilem czegos takiego wiec pytam.

0
qbns napisał(a):

Jako androidowcowi, zapewne najwgodniej będzie Ci go napisać w kotlinie.

Dla Kotlina jest np. Wasabi ktor lub Javalin

0

Ja bym robił wersję mobi w PWA - Progressive Web App. Łatwiej rozwinąć będzie tobie wersję web.bro

0

Tu masz gotowe rozwiązanie e-commerce: broadleafcommerce.com. Wersja opensource jest okrojona. Technikalia to Spring. Ściągnij, zainstaluj na serwerze, przypatrz się rozwiązaniu, poczytaj dokumentację. Może poszukaj innego projektu tego typu, może lżejszego. Postaw na tym prosty sklep i zrób do tego aplikację mobilną.

0

Dlaczego tylko REST (+Spring, apage) uwzględniacie?
Prawdziwy nie "zgwałcony" REST dotyczy stanu, a nie czynności.

Sugeruję zainteresowanie się jakimś nowoczesnym RCP, ja używam Apache Thrift - w zasadzie do czegoś bardzo podobnego, tablet z aplikacją biznesową komunikuje się z centralą. Nie tylko transmitowane są dane, wywoływane procedury, funkcje, ale nawet da się wyjątek przekazać przez sieć.

najbardziej podobną konkurencją jest GRPC (czyli nadbudowa RPC nad ProtoBuf)

1

Zgoda, ale standardem jest wysyłanie zapytań RESTowych, a na co ty zmapujesz te zapytania od clienta to jest sprawa wyboru archiektury. To może być jakieś API gateway, traefik.io, jakiś proxy, który przekieruje to na jakieś usługi. A czy skorzysta z jakiegoś słusznego jedynego protokołu - to też wybory architektoniczne jeden wybierze gRPC inny http2, albo nawet Redisa.

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