App-utvikling, grovt kostnadsoverslag

Bjørnar

Gründer
Hei,

Jeg vet at dette er som å spørre hvor langt et tau er, men jeg skal prøve å gjøre tauet litt mer bestemt i lengde.

Jeg skal få utviklet en app til både Android og iOS. Appen skal bestå av en innlogging (ingen brukerregistrering nødvendig, for det gjøres via web på forhånd). Så innlogging må kobles sammen med nettsiden som eksisterer.

Funksjonaliteten er "enkel": Man tar et bilde, og bildet blir lastet opp til nettsiden. Nettsiden tar i mot bildet, og behandler det deretter.

Det mest beskrivende jeg kan se for meg, er at appen i all hovedsak skal ligne veldig på Fiken sin app for bilagsregistrering. Der logger man inn, knippser bilde, og thats it. Det skal ikke foretas kjøp i app. Appen skal også være 100% gratis for brukeren. Utvikling av nettsiden har jeg kåll på, så det som skjer etter bildet er lastet opp skal ikke regnes inn her.

Jeg skal prøve å svare mer utfyllende, dersom det er informasjon som mangler over her.

Jeg skjønner at dette ikke er nok til å gi et prisoverslag, men det er ikke det jeg er på jakt etter - jeg er mer på jakt etter størrelsesorden. Snakker vi 100k? 300k?
 

Pong

Jeg selger sʇɥƃıluʍop :)
Du trenger ikke en app til dette, men det er kanskje det du vil?

Det sagt..
Når man installerer appen er det greit å logge på med en gang - appen husker det vel?
Dvs: ved første run eller når man har valgt å slette app-data:
1. Brukernavn +password.
2. Sendes til din server med litt php som tar et oppslag mot en database (dvs at appen må låses til det domenet).
3. Appen får OK / Ikke OK og husker dette for all fremtid (eller til man sletter app-data eller appen).

4. Ta et bilde.
5. Knapper "OK, last opp" og "Forkast, prøv igjen".
6. Sender brukernavn sammen med bildet til din server der et php skript ta imot og lagrer.
7. Appen får OK / Ikke OK og sletter bildet lokalt hvis OK.

Sikkert greit med en liten logg når hva ble lastet opp.
Må ha internet tilgang (wifi/345g) for å laste opp bildet - kan være greit å ha det innen man forsøker laste opp.

Litt versjonsdill er greit å sende med samt en melding fra serveren ved innloggings- og opplastningsforsøk - e.g. varsel at de må oppgradere til nye versjon, eller lignende.

Noe sånt?
Tipper opp mot 60-70k, inkl. server-script som du senere kan tilpasse.
 
Veldig enkelt det du beskriver. Uansett om du vil ha en native app, eller pwa (som høres ut som holder lenge). Prisforskjellen på de to er riktig nok relativt stor.

Uansett; Jeg kan hjelpe deg med begge hvis du har behov. Men må nok ha litt mer info for å si noe konkret, men du er langt i fra mange-titusenkr-klassen.

Send gjerne en PM dersom du vil ha helt konkret pris.
 
Progressive web app.
Mer eller mindre en nettside som er laget for å oppføre seg relativt likt som en native app på telefonen, men den kan ikke installeres fra Play store eller Appstore. Må lagres fra selve nettsiden.

Det er mange forskjeller, men de kan du helt sikkert google :) (Legger ved et par linker). Men til ditt bruk så er spørsmålet enkelt. Kan du tvinge brukere til å lagre "appen"? Eller er du avhengig av at den er nedlastbar fra appstores?

Hvis førstnevnte er PWA veien å gå for dette.

https://web.dev/progressive-web-apps/
https://www.freecodecamp.org/news/progressive-web-apps-101-the-what-why-and-how-4aa5e9065ac2/
 

JudeQuinn

Medlem
Ville laget det i React Native. Har laget flere apps med backend i Python/PHP og har outsourcet frontend-utvikling i React Native for IOS og Android fra 500 eur og opp avhengig av appen.
 

Kjetil L.

New Member
@JudeQuinn aldri helt forstått fordelen med React. Pakke sin HTML, CSS og JS inn i mer JS kun for å spare et par millisekund i load time liksom?

Virker som om majoriteten av de som holder på med React gjør det bare fordi det er inn, fordi det var Facebook som laget det.
 
@JudeQuinn aldri helt forstått fordelen med React. Pakke sin HTML, CSS og JS inn i mer JS kun for å spare et par millisekund i load time liksom?

Virker som om majoriteten av de som holder på med React gjør det bare fordi det er inn, fordi det var Facebook som laget det.

Da har du nok bare misforstått hva React faktisk er. JavaScript er bygget inn i alle nettlesere, så React laster nok ikke noe kjappere enn JavaScript.

React er et bibliotek eller rammeverk. Litt på samme måte som at Symfony/Laravel er rammeverk for PHP og Django er et rammeverk for Python.

React gjør det enkelt å kjapt sette opp frontends med mye interaksjon. Poenget er at rammeverket skal spare deg mye av bryderiet det ofte er å skrive ting i vanilla JavaScript.
 

Kjetil L.

New Member
Joda, den delen er grei. Syntes bare det hele virker overhypa. Liker ikke helt ideen på å samle HTML, CSS og JS inn i én spaghetti-søle á la PHP i motsetning til f.eks. en ren Model-View-Controller-separasjon som Ruby on Rails eller til dels Django. Det hele virker bare litt rotete.

Men skjønner at mange liker det å slippe DOM-manipulering, og i tillegg kunne ha så god tilgang til iOS og Android via React Native.
 

JudeQuinn

Medlem
Fordelen er at det passer bedre inn i en moderne utviklingsprosess. Det er det stikk motsatte av spaghettikode, og alt er adskilt.

F.eks. har vi backend i Django, denne kommuniserer med Telegram, Sentry, frontend (React Native) mm.

Han som jobber med React, jobber med frontend. Jeg skriver Python selv, så jeg lager det han trenger mtp. API endpoints. Han pusher til en separat git-repo.

Dersom vi senere skulle ønske å lage en web-app, er det bare å plugge rett inn. Eller kanskje konvertere til native-kode for IOS ... Selve backend-appen trenger ikke å endres.

React/Vue/etc. kommer med (enten innebygget eller gjennom pakker) routing, kodesplitting, server side rendering ... og trenger man Facebook-login, push-meldinger eller annet, trenger man ikke å finne opp hjulet på nytt. Så til syvende of sist er det en billigere og bedre måte å utvikle løsninger.

Skal du f.eks. skrive din egen router hver gang du trenger det, eller lage alt fra scratch, blir det masse arbeid. Skriving av tester osv. Generelt er det du trenger av pakker tilgjengelig via npm, og velger du litt med omhu, er det gjennomtestet og bra.

Det er derfor vi bruker Django for backend. Det fungerer bra, og det er kjapt å sette opp en løsning (man har f.eks. brukersystem, logging, databaseabstraksjon osv. innebygget). "Kjernen" har et stort community, og det er lett å bygge videre på. F.eks. har vi en django-app med 7 brukernivå, flere backends, REST API, og den henger bra sammen.

For mindre ting jeg knoter sammen selv, bruker jeg Nuxt og Airtable/Cosmic/Firebase for backend. Så bruker jeg tailwind for css, og kan enkelt bundle det sammen og hive det opp på Amazon S3 eller Netlify. CSS blir gjennomgått automatisk og det man ikke bruker blir fjernet, bilder blir "minimized" og alt går på skinner. Pushes til git, så bygges automatisk på Netlify.

Selve skjelettet er det samme mer eller mindre hver gang, så det er ingen poeng i å lage alt på nytt hver gang.

Sammenlign med Wordpress eller en typisk RoR app, hvor alt av CSS, logikk, JS osv. er en stor bundle - da er det overnevnte mye mer ryddig.
 
Topp