Šta je novo?

JSON+jQuery umesto PHP+SQL?

  • Začetnik teme Začetnik teme Neky
  • Datum pokretanja Datum pokretanja

Neky

Slavan
Učlanjen(a)
01.10.2007
Poruke
918
Poena
330
Hejhej drugari,

Imam neki sajt koji je totalno statičan, a treba u budućnosti da dodam dinamički generisane stranice, pa me zanima da li je sigurno (pametno) uraditi to pomoću jQueryja koji bi podatke čitao iz JSON fajla (ili fajlova). Jasno mi je da JSON nije baš predviđen za ovako nešto, ali količina podataka neće biti velika, red veličine nekoliko megabajta u najgorem slučaju.

Mogao bih da radim sve to u PHPu ali mi je izuzetno dosadan...
 
Poslednja izmena:
Па пази, ако би се касније тај садржај добављао AJAX-ом, онда би у сваком случају стизао као JSON, тако да ако лепо одвојиш делове кода, можеш да убрзаш развој тако.
Са друге стране, много тога је боље урадити РНР-ом, јер стварно не знам како би урадио динамички сајт с JSON фајловима? А мало би глупо било да све двапут куцаш. РНР ионако може да ти буде у употреби само за посредовање у вези с базом, да на тај минимизујеш колико ћеш куцати у њему.
 
Ja sam hteo da ručno napravim JSON fajlove umesto MySQL baze, tipa

Kod:
{
voce: [
  {
  "naziv": "jabuka",
  "slika": "jabuka-1"
  },
  {
  "naziv": "kruška",
  "slika": "kruška-1"
  }  
]
}

i to onda samo da izvrtim kroz jQuery sa odgovarajućim bootstrap elementima. Dakle, da li ovako nešto ima smisla?

Prvobitno sam počeo PHP+MySQL međutim "direktor" lopuža koji još uvek nije platio sajt je hteo što pre da bude postavljen sajt, tako da sam čukao suvi HTML...očaj.
 
Биће ти незгодно ако/кад будеш убацивао да то стварно буде динамички садржај. Моја препорука ти је да, ако баш журиш, онда бар из РНР-а пошаљеш фиксиран низ HTML-у. Онда када будеш одрадио базу и манипулацију истом, можеш да само тај низ замениш.

И наравно, можеш да искористиш неки PHP framework, типa Laravel, Symphony, Yii... Не знам какво ти је познавање материје (а ни ја нисам баш доктор наука🙂 ), па не могу детаљније да те упутим.
 
A da pogledas Node.js + MongoDB? To lici kao to sto zelis, samo na civilizovan nacin 🙂 .
 
Ala ste mu pomogli 🙂

Da, sve to moze da se zavrsi sa jQ i to na jako prost i jednostavan nacin. Pakovanje podataka u JSON od strane servera i hvatanje istog pujem AJAX-a je ok, samo je "problem" manipulacija DOM elementima i prikaz sadrzaja koji si dobio od servera. To mozes da resis koriscenjem nekog JS template engine-a poput iCanHaz.js koji ce ti znacajno olaksati zivot.
 
Koliko sam razumeo, njemu je problem manipulacija bazom (i programiranje na serveru), jer će imati CMS kasnije, tu templating ne pomaže.
 
Pa ako planir da pakuje podatke u JSON onda je ocito da ce morati da programira bar malo i da baratanje podacima na toj strani nije problem.
 
Poslednja izmena:
Uopšte nisam razumeo šta si pokušao da kažeš, ali dobro, nije moje pitanje ono koje treba da se odgovori🙂
(Kako templating-om zaobilaziš korišćenje baze bilo kog tipa, i programiranje na serveru, kog god tipa)
 
Evo da objasnim. On ce u startu da koristi nesto sto se zove Fixture model. Fixture model predstavlja obican JSON object sa nekom strukturom koja je popunjena odgovarajucim informacijama. Taj JSON ne mora da bude dostavljen klijnetu (browseru) putem PHP-a, to moze da iskuca u bilo kom editoru i da includuje u svoj projekat kao JS fajl. Recimo, ovako:

Kod:
var fixture_model = [ todos:
 {
   id: 1,
   title: 'Learn JS',
   isCompleted: true
 },
 {
   id: 2,
   title: '...',
   isCompleted: false
 },
 {
   id: 3,
   title: 'Profit!',
   isCompleted: false
 }
];

Postavlja se pitanje - ako nema PHP-a i serverside procesiranja, kako te infromacije iz fiksnog modela prikazati korisniku? Jer ako imamo PHP, ne treba nam ni JSON i AJAX jer to sve moze da se prikaze kroz PHP, slazemo se? Ako kazemo da nema PHP-a i da se model sap odacima za prikazivanje svi nalaze na klijentskoj strani, onda cemo prikaz da hendlujemo kroz javascript ili jQuery kao Javascript frejmvork. Pretpostavljam da se oko ovoga slazemo?

Ako se slazemo, postavlja se sledece pitanje - kako olaksati sebi zivot i na efikasan nacin prikazati podatke u odgovarajucoj vizuelnoj formi klijentu? Najefikasniji nacin je koriscenje templejt endzina poput Mustache ili njegove unapredjene verzije zvane ICanHaz.js koja ce mu omoguciti da iz svega par linija koda efikasno manipulise prikazom informacija u browseru.

Evo primer jednog templejta:

Kod:
<script type="text/html" id="template-todo">
{{#todos}}
<li data-todo-id="{{id}}">{{title}}</li>
{{/todos}}
</script>

Neki HTML u koji treba da spakuje to:
Kod:
<ul id="some_ul"></ul>

I na kraju kako da sve spoji:
Kod:
var html = ich.template-todo(fixture_model); $("#some-ul").html(html);

Pretty easy 🙂 dobice UL element sa tri LI elementa od kojih svaki ima upisan titel kao vrednost.

E sad mozemo da predjemoi na sledeci korak - sutra dobijemo relacionu bazu podataka, dobijemo PHP, uvedemo AJAX, pakujemo podatke u JSON, prosledjujemo klijentu, a vec napisan klijentski kod moze da se koristi dalje.
 
Poslednja izmena:
Prvo, svaka čast na odgovoru, i hvala. Sad razumem šta si hteo da kažeš, i nije mi baš jasno kako nisam ranije. Definitivno najbolje rešenje.
 
Hvala mnogo na odgovoru, ali izgleda ništa od ovoga neće biti...na moju žalost no dobro, makar naučih nešto.
 
Nazad
Vrh Dno