Wat te gebruiken voor PWA?*

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • fenrirs
  • Registratie: Februari 2016
  • Laatst online: 01-05 07:34
Binnenkort willen we een archaïsche applicatie gaan ombouwen naar een PWA voor, letterlijk, veldwerk.
De vraag is nu alleen, wat gaan we gebruiken voor de PWA.

Op dit moment is de keuze min of meer om het backend in Django te maken met HTMX en een css framework, waarschijnlijk Bootstrap5.

Met name bij dat laatste zou ik graag jullie ervaringen/suggesties willen weten. Wat werk wel of niet
,wat zijn bekende bottlenecks en welke andere makkelijk te leren oplossingen zijn er nog meer.

uiteindelijke doel is makkelijk ter plekke invoeren van gegevens/foto's en evt op basis van een backend applicatie die de input checkt tegen een historische database(via een api) met een push notificatie naar andere leden van het team (gaat nu via email). Eventueel een simpele zoek functie voor historische data.

------
Even wat achtergrond, we hebben geen professioneel ontwikkel team en doen/moeten alles zelf doen ivm ontbreken van funding. Wel hebben we de beschikking over voldoende hardware en Linux kennis. De programmeer kennis is beperkt to python en html met wat miniem javascript. We willen het allemaal zo simpel mogelijk houden ivm regelmatig wisselen van de mensen die aan de applicatie kunnen werken

De huidige applicatie is een klassieke Django applicatie achter nginx, ergens in de tijd van Django 2.x gestart met custom CSS, maar niet geschikt voor een smartphone scherm. De grootste code base zit 'm in de backend en api interacties. Onze database stack is sinds kort PostgreSQL 16 (er zit zelfs nog referentie data in uit 1995).

Acties:
  • +1 Henk 'm!

  • Toren
  • Registratie: April 2024
  • Laatst online: 05-06-2024
Bootstrap is vooral heel praktisch en neemt je veel werk uit handen. Natuurlijk kan het op veel vlakken echt wel wat beter maar gezien je achtergrond en situatieschets lijkt het me prima te voldoen. Heb het zelf in de afgelopen 10 jaar (bootstrap 3, 4 en 5) voor 8 langlopende applicaties gebruikt en werkt daar ook goed genoeg voor.

Acties:
  • 0 Henk 'm!

  • Kriekel
  • Registratie: Maart 2017
  • Laatst online: 20:13
Wat zijn je overwegingen om voor een PWA te gaan? Dat is prima techniek en zeker nuttig, maar het brengt wel wat extra uitdagingen met zich mee die niet direct duidelijk zijn in een ontwikkel omgeving. Daarnaast functioneert het in bepaalde gevallen anders op IOS dan op Android.
Ik heb geen ervaring met Django, maar je kunt beginnen met het opzetten van een mobile friendly website (eventueel al met basic PWA support), maar ik zou zaken zoals offline support pas oppakken als je basis website werkt.

Bootstrap is makkelijk en geeft je veel hap klare brokken om snel een mobile friendly website te bouwen, dus dat is voor de situatie die je omschrijft ideaal.

Acties:
  • 0 Henk 'm!

  • SPee
  • Registratie: Oktober 2001
  • Laatst online: 14-05 14:00
Of misschien gaan voor een ander no-code/low-code platform?
Met iets als FlutterFlow kun je vrij makkelijk een simpele app maken, zonder dat je een code guru hoeft te zijn.

let the past be the past.


Acties:
  • 0 Henk 'm!

  • fenrirs
  • Registratie: Februari 2016
  • Laatst online: 01-05 07:34
het is niet zo dat we geen app kunnen bouwen, we hebben tenslotte ook al een django powered site gemaakt met postgres, django-q2, backend API koppelingen etc etc. Mijn ervaring met no-code/low-code toepassingen is dat zodra je een stapje buiten het bedachte traject gaat, je gelijk vast loopt. Flutterflow is voor wat wij nodig zouden hebben al $70.... per maand. Dat budget is er dus niet. Wel hebben we gratis hosting, gratis git en gratis domeinen.

[ Voor 21% gewijzigd door fenrirs op 12-04-2024 16:10 ]


Acties:
  • 0 Henk 'm!

  • OverloadOfRed
  • Registratie: Maart 2010
  • Laatst online: 11-05 21:51

OverloadOfRed

Bla, blabla

fenrirs schreef op vrijdag 12 april 2024 @ 16:06:
het is niet zo dat we geen app kunnen bouwen, we hebben tenslotte ook al een django powered site gemaakt met postgres, django-q2, backend API koppelingen etc etc. Mijn ervaring met no-code/low-code toepassingen is dat zodra je een stapje buiten het bedachte traject gaat, je gelijk vast loopt. Flutterflow is voor wat wij nodig zouden hebben al $70.... per maand. Dat budget is er dus niet. Wel hebben we gratis hosting, gratis git en gratis domeinen.
Sorry? 70 dollar per maand past niet in het budget? Wat als de zelf geschreven applicatie omvalt, iedereen met kennis weg is, en er een professional nodig is om het te herstellen? Dat begint bij 70 euro per uur.

Doe alsjeblieft een fatsoenlijk onderzoek naar kosten/bate en risico's voordat je ergens aan gaat beginnen, als ongeinformeerde buitenstaander zie ik alleen maar rode vlaggetjes.

Ik ben chatman, supersnel met MSN. Er is niemand die me niet kent


Acties:
  • +1 Henk 'm!

  • fenrirs
  • Registratie: Februari 2016
  • Laatst online: 01-05 07:34
@OverloadOfRed yo relax, het is vrijwilligerswerk, voornamelijk zodat wij zelf, de gebruikers én makers dus, niet meer met een (privé) laptop hoeven te inventariseren, maar gewoon met onze eigen smartphone.

Dat laptop gedoe stamt nog uit de tijd dat er geen smartphones waren.

We proberen ook gewoon een lagere drempel voor nieuwe vrijwilligers te creëren.

Maar gezien je er professioneel zoveel van af lijkt te weten kun je je ook constructiever opstellen en vertellen wat in jouw ogen wel of niet werkt, waar je tegen aan loopt of welke alternatieven er wellicht zijn voor ons ‘amateurs’

Acties:
  • 0 Henk 'm!

  • Voutloos
  • Registratie: Januari 2002
  • Niet online
Zoals ik het lees, zijn de core features zijn uiteindelijk een kennisbank of CRM? Het klinkt als iets waar al een goede site/app voor bestaat.
Heb je al naar bestaande oplossingen gezocht?
Welke unieke requirement maakt dat dat niet bestaat?
Of is deel van de hobby/vrijwilligerswerk ook het IT aspect, dus wil je het gewoon zelf maken?

edit:

Gewoon Django bijwerken en bootstrap gebruiken klinkt niet gek voor wat je nu al gewend bent. Dan nog twijfel ik of je app echt uniek is, maar ik mis vast details.

[ Voor 20% gewijzigd door Voutloos op 13-04-2024 15:56 ]

{signature}


Acties:
  • 0 Henk 'm!

  • Kalentum
  • Registratie: Juni 2004
  • Laatst online: 22:59
Ik zou eerst focussen op de site responsive te maken, of in elk geval de delen die belangrijk zijn voor het veldwerk. Stap voor stap. En dan is Bootstrap een prima keuze.

En PWA, is dat vooral vanuit het idee om makkelijk notficaties te krijgen? Ik zou daar dan vooralsog niet direct op focussen, omdat er al een notificatie via email is.

Acties:
  • 0 Henk 'm!

  • OverloadOfRed
  • Registratie: Maart 2010
  • Laatst online: 11-05 21:51

OverloadOfRed

Bla, blabla

fenrirs schreef op zaterdag 13 april 2024 @ 07:38:
@OverloadOfRed yo relax, het is vrijwilligerswerk, voornamelijk zodat wij zelf, de gebruikers én makers dus, niet meer met een (privé) laptop hoeven te inventariseren, maar gewoon met onze eigen smartphone.

Dat laptop gedoe stamt nog uit de tijd dat er geen smartphones waren.

We proberen ook gewoon een lagere drempel voor nieuwe vrijwilligers te creëren.

Maar gezien je er professioneel zoveel van af lijkt te weten kun je je ook constructiever opstellen en vertellen wat in jouw ogen wel of niet werkt, waar je tegen aan loopt of welke alternatieven er wellicht zijn voor ons ‘amateurs’
Nergens uit je TS kan ik halen dat het om vrijwilligerswerk gaat. Als ik in een bedrijf zie dat voor 70 dollar per maand geen ruimte is, zijn dat giga rode vlaggen.
Vrijwilligerswerk is heel wat anders, dus dankjewel voor die toelichting.

Ik zou, gezien de requirements die je hier nu wel wat duidelijker maakt kijken naar mail notificaties ipv een PWA, als dat past binnen de requirements. Een fatsoenlijke notificatie structuur opzetten kan wel wat hand en voetwerk zijn. Mocht je toch voor een PWA willen gaan, zoek standaarden en templates, React zijn nogal wat voorbeelden en libraries voor te vinden, iets nieuws en ‘hips’ zoals Svelte wat minder. Vue (Nuxt vooral) vind ik extreem makkelijk op te zetten maar heeft IETS minder grote backbone dan React waardoor libraries vinden soms wat uitdagender is.

Ik ben chatman, supersnel met MSN. Er is niemand die me niet kent


Acties:
  • 0 Henk 'm!

  • bmwgozer
  • Registratie: Januari 2023
  • Laatst online: 14-05 16:43
EXPO is uiteindelijk React Native met React Web.

Rol je makkelijk in en gezien backend niet klinkt als je probleem, zou ik gewoon voor iets gaan dat mobile zeer goed kan en veel documentatie voor is. Laatste waar je zin in hebt is om je vrijwilligersjob constant bugs te mogen gaan fixen omdat je voor teveel abstractie gekozen hebt.

Een degelijke no code platform ligt buiten je budget dus daar zou ik niet aan beginnen. Dat is qua gegevensbeveiliging en onderhoud wel de route die ik zou kiezen als ik een systeem zou moeten maken dat ik vervolgens niet wil onderhouden. Anders ben je na paar jaar weer de pineut terwijl je er misschien helemaal geen zin meer in hebt.

Acties:
  • +2 Henk 'm!

  • Voutloos
  • Registratie: Januari 2002
  • Niet online
PWA betekent niet per se SPA. Gezien de huidige stack en dat Htmx overwogen wordt, zou ik niet meteen React noemen. ;)

{signature}


Acties:
  • +1 Henk 'm!

  • Tranzity
  • Registratie: Januari 2001
  • Niet online
SPee schreef op vrijdag 12 april 2024 @ 13:32:
Of misschien gaan voor een ander no-code/low-code platform?
Met iets als FlutterFlow kun je vrij makkelijk een simpele app maken, zonder dat je een code guru hoeft te zijn.
Of PowerApps, een mobile CanvasApp heb je zo gebouwd op de Dataverse 'backend'. Geen gepiel met API's en/of lastige security.
Zo'n type applicatie zou je binnen een paar weken productie waardig kunnen hebben.

Acties:
  • +2 Henk 'm!

  • Ramon
  • Registratie: Juli 2000
  • Laatst online: 22:30
We kunnen wel allerlei andere alternatieven opnoemen en lekker elitair reageren als iemand zegt geen 70 euro/maand over te hebben om een app te bouwen in een low/no-code platform maar wat schieten we daar mee op?

Django kennis is aanwezig dus lekker daar bij blijven zou ik zeggen. Ik zou het in fases aanpakken zodat je focus houdt op wat belangrijk is:

1. Updaten naar laatste Django LTS. Is in de meeste gevallen niet al te veel werk, zorg dat je zo min mogelijk custom code schrijft, dat maakt upgraden in de toekomst makkelijker. Met een beetje geluk kan je wat custom code weghalen.

2. Gebruik bootstrap of een andere techniek waarmee je de web-app responsive (zoekterm) kan maken.

3. Voeg client-side interacties toe. Implementeer HTMX op een manier dat de web-app ook nog werkt als een cliënt javascript uit heeft staan. Andere suggestie die je misschien kan gebruiken is AlpineJS (en AlpineJS AJAX is ook handig).

4. Kijk pas als laatste stap naar "PWA". Is namelijk niet echt iets wat je nodig hebt om goede responsive web-apps te maken. In veel gevallen is het meer een leukigheid dat je de web-app offline kan gebruiken en dat je een icoontje op je homescreen kan zetten.

Check mijn V&A ads: https://tweakers.net/aanbod/user/9258/


Acties:
  • 0 Henk 'm!

  • Kriekel
  • Registratie: Maart 2017
  • Laatst online: 20:13
Los van de PWA zelf, zijn jullie een officieel erkende non-profit? Zo ja, dan kun je bij azure mogelijk $2000,- per jaar aan credits krijgen: https://techcommunity.mic...zure-credits/ba-p/3690341

Acties:
  • 0 Henk 'm!

  • fenrirs
  • Registratie: Februari 2016
  • Laatst online: 01-05 07:34
Nee helaas niet. Inmiddels zijn we begonnen met een aantal views over te zetten naar bootstrap 5 met wat htmx elementen, schaalt best goed eigenlijk. Als we tijd hebben gaan we spelen met django-pwa

Acties:
  • 0 Henk 'm!

  • Ed Vertijsment
  • Registratie: Juli 2014
  • Laatst online: 06-05 22:34
Ik werk zelf als o.a. frontender bij een partij die voornamelijk met Django software bouwt dus ik kijk even mee.

Je geeft aan dat de beschikbare (developer) kennis beperkt is, in dat geval zou ik verre blijven van JS frameworks/libraries als Angular of React maar blijven bij wat je al kent, Django (template language?). Houd er rekening mee dat gevolgen kan hebben voor de kwaliteit en of schaalbaarheid van de applicatie:

Django
Django gaat uit van views (pagina's) en inheritance (base templates) en veel modernere tooling gaat uit van components (herbruikbare blokken) en composition (blokken stapelen), dat laatste schaalt beter (en heeft vaak ook wat kwaliteitsvoordelen) maar vereist een andere stack. Aangezien de developer capaciteit beperkt lijkt te zijn zou ik de tool gebruiken die je kent en deze polijsten met tools als HTMX.

HTMX
"PWA"'s (webapps in kiosk mode) geven de impressie van een app o.a. door IO op de achtergrond te doen. Voor pagina's die "oldschool" linken en posten (zoals veel Django websites) kun je HTMX gebruiken om die ervaring te bieden. Het alternatief is om alle acties via fetch en API's te doen middels een bak JavaScript en iets als Django Rest Framework maar daar gaat een hoop extra tijd inzitten.

Bootstrap
Bootstrap, van oorsprong een prototyping framework gaat je snel een app geven, die ziet er dan uit zoals Bootstrap. Als je geen hoge eisen stelt aan de UI op zich prima, maar houd er rekening mee dat custom designs lastig zijn en problematisch achteraf nog toe te passen. Of dat een issue is kunnen jullie zelf inschatten, op basis van je omschrijving denk ik niet.

Goldplating

Wil je dat de "app" offline reageert (ook al zul je niet veel kunnen doen) kun je kijken om hier een library voor te gebruiken (of zelf aan de gang met een Service Worker). Voor (push) notificaties kun je denk ik prima een stukje javascript schrijven die 1. messages ontvangt en 2. de notificatie api gebruikt om die te tonen. Of je dan superstrak websockets gebruikt om messages te ontvangen of gewoon ouderwets poll'ed van een endpoint maakt niet zo veel uit.

IMOj beschrijf je zelf een best redelijke aanpak voor wat je wil doen met de middelen die je organisatie heeft. Maar wel ff Django updaten zoals @Ramon aangaf.

Acties:
  • +2 Henk 'm!

  • fenrirs
  • Registratie: Februari 2016
  • Laatst online: 01-05 07:34
Dank je wel @Ed Vertijsment
Inmiddels hebben we besloten gewoon maar op django+htmx te blijven en de templates te moderniseren
Uiteraard draaien we nu Django 5.0.4

Acties:
  • 0 Henk 'm!

  • Toren
  • Registratie: April 2024
  • Laatst online: 05-06-2024
Succes dan :)
Pagina: 1