Web applicatie, gebruikersinstellingen opslaan

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • ray538
  • Registratie: Januari 2010
  • Laatst online: 16:58
Onlangs heb ik een app gemaakt voor iOS en Android. Nu wil van deze app ook een webversie maken, zodat gebruikers van een ander OS ook gebruik kunnen maken van (een deel) van de functies die de app biedt. Ik zit nu met het volgende punt: De app slaat een aantal gebruikersinstellingen op het apparaat op, dit moet voor de webversie ook gebeuren. Er zal veel gebruik gemaakt worden van Javascript en ik wil dan ook zo min mogelijk gebruik maken van PHP en een database (wat moet dat moet, dus als het nodig is zal ik het wel gebruiken). Ik ben op zoek naar de beste manier om dit te doen. Ik heb een aantal mogelijke optie's op rijtje gezet:
  • Server-side
    • De instellingen aan de hand van het ip-adres opslaan in de database.

      Nadelen zijn dat voor elke wijziging in de instellingen een php bestand aangeroepen moet worden en dat er geen onderscheid is voor gebruikers achter hetzelfde ip-adres.
  • Client-side
Ik ben erg benieuwd hoe jullie dit zouden aanpakken en of jullie nog toevoegingen (suggesties) op het bovenstaande lijstje hebben.

Acties:
  • 0 Henk 'm!

  • alex3305
  • Registratie: Januari 2004
  • Laatst online: 22:33
IP-Adres gaat waarschijnlijk niet werken. De mobiele verbindingen gaan voor zover ik weet allemaal via NAT, wat inhoudt dat ze voor jouw website hetzelfde iP hebben. Je kunt een login gebruiken om het server-side op te slaan, en anders wordt het client-side.

Acties:
  • 0 Henk 'm!

  • Xudonax
  • Registratie: November 2010
  • Laatst online: 02-09 13:25
Je kunt ook een cookie gebruiken met daarin een uniek ID (GUID?) en daarmee de instellingen serverside uit de database kunnen trekken. Afhankelijk van wat je in de cookies zet kan dit handiger zijn, bijv. als je een access level oid in je cookies zet, dat doe ik liever met een uniek ID in een cookie en de rest mooi op de server.

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Xudonax schreef op dinsdag 01 maart 2011 @ 23:10:
Je kunt ook een cookie gebruiken met daarin een uniek ID (GUID?) en daarmee de instellingen serverside uit de database kunnen trekken. Afhankelijk van wat je in de cookies zet kan dit handiger zijn, bijv. als je een access level oid in je cookies zet, dat doe ik liever met een uniek ID in een cookie en de rest mooi op de server.
Congratulations, u heeft zojuist een Sessie uitgelegd ;)

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 00:13

crisp

Devver

Pixelated

ray538 schreef op dinsdag 01 maart 2011 @ 22:46:
• De instellingen opslaan doormiddel van een Javascript database (zie hier voor een voorbeeld: http://ajaxian.com/archives/taffy-db-javascript-database)
Taffy DB does not natively have any storage capability (not at the moment anyway).
;)

Kijk eens naar web storage - dat wordt door de meeste moderne browsers al ondersteund :)

[ Voor 9% gewijzigd door crisp op 01-03-2011 23:16 ]

Intentionally left blank


Acties:
  • 0 Henk 'm!

  • Xudonax
  • Registratie: November 2010
  • Laatst online: 02-09 13:25
RobIII schreef op dinsdag 01 maart 2011 @ 23:14:
[...]

Congratulations, u heeft zojuist een Sessie uitgelegd ;)
Err... d'0h! Misschien niet posten als ik half slaap :D Maar het lijkt me wel een mooie manier.

Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 23:10

Janoz

Moderator Devschuur®

!litemod

Extra nadeel van serverside is daarnaast dat je niet weet van welke gebruiker de settings nog relevant zijn. Er zullen vast mensen zijn die 'm even proberen, maar welke daarvan willen over drie maanden weer verder en welke komen nooit meer terug of hebben hun sessie cookie geschoond/ander ip adres?

Deze casus is precies waarvoor cookies oorspronkelijk bedoeld waren, en eigenlijk zou ik pas naar web storage gaan kijken wanneer de settings zo uitgebreid gaan worden dat ze niet meer in een cookie passen.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Acties:
  • 0 Henk 'm!

Verwijderd

Misschien dat je kunt kijken naar localStorage en sessionStorage (HTML5 webstorage), welke client-side zijn en door moderne browsers worden ondersteund.

*ik zie dat crisp hetzelfde suggereerd

Maargoed; hiermee kun je lokaal gegevens opslaan zoals bij cookies, maar zonder dat er een einddatum hoeft worden ingesteld. localStorage blijft "voor altijd" staan, terwijl sessionStorage weg is wanneer je de pagina sluit.

Het enige nadeel is dat je alleen strings kan opslaan, maar dmv JSON kun je dit gemakkelijk oplossen.

Acties:
  • 0 Henk 'm!

  • ray538
  • Registratie: Januari 2010
  • Laatst online: 16:58
Ziet er goed uit, dat webstorage, ik kende het nog niet. Zoals Janoz ook zegt maak ik liever geen gebruik van server side opslag, om de bovengenoemde redenen en omdat het toch wel scheelt in performance op de server als ik alleen html pagina's serveer.

Ik ga even inlezen in webstorage en vervolgens de afweging maken tussen webstorage of cookies. Ik laat jullie mijn afweging weten. Als er nog suggesties zijn hoor ik dat natuurlijk graag.

Edit:
Ik was inderdaad van plan om het de meeste data als een JSON string op te slaan.

[ Voor 9% gewijzigd door ray538 op 02-03-2011 13:20 ]

Pagina: 1