Avatar billede groyk Novice
19. december 2008 - 08:37 Der er 12 kommentarer og
2 løsninger

Ajax framework eller små ajax scripts

Hej Eksperter

Jeg arbejder på et større projekt "php/mysql" hvor jeg har indlejret nogle forskellige ajax funktioner.

Nu er mit spørgsmål om det er en god løsning at lave forskellige ajax funktioner rundt omkring i et projekt, eller om det er bedre at bygge projektet op omkring et AJAX framework, Ext js eller lign.

Projektet er backend til en webshop.
Avatar billede olebole Juniormester
19. december 2008 - 16:47 #1
<ole>

Jeg er ikke bekendt med eksistensen af et Ajax-library i valid, hensigtsmæssig og moderne kode ... heller ikke libs som Prototype, scriptaculous eller jQuery. Min anbefaling er helt klart at skrive noget selv.

Vi diskuterede emnet i denne tråd - hvor jeg også viser et par eksempler med PHP/JSON:
    http://www.eksperten.dk/spm/817625

/mvh
</bole>
Avatar billede groyk Novice
19. december 2008 - 18:24 #2
Hej Ole

Det er også min udmidelbare vurdering. Men kræver vidst jeg får tygget "DenGodeKode" igennem. Hvornår forventer du at kunne udgive din bog? Det er nok en af de første der ryger på ønskesedlen!!

Vedr. frameworks. Kender du til Ext js? http://extjs.com/

Synes det ser mega nice ud, men kan sagtens se din pointe i at hvis man koder de funktioner man skal bruge selv, får man langt bedre indblik i koden.

Hvis du vil se en af de funktioner jeg har implementeret, kan du følge dette link.

http://www.multipumpen.dk/ajax/easygrid/grid.php
Bruges i admin delen på varer og kunder.

Har ikke selv kodet det hele, har "bare" modificeret et fundet script.
Avatar billede groyk Novice
19. december 2008 - 18:27 #3
Foresten

Scriptet søger "live" påbegynder søgning når der er indtastet x antal karakterer i søgelinien.

Hvilke søgefelter der skal søges på kan defineres i koden.
Avatar billede arne_v Ekspert
19. december 2008 - 22:17 #4
Man kan vaelge flere forskellige strategier for sin AJAX JS udvikling:

1)  Bruge server side komponenter som outputter JS uden at ens kilde kode indeholder
    noget JS - saadanne findes til JSP, ASP.NET og PHP.

2)  Udvikle sin app i et mere strict sprog og saa generere JS fra det. Eksempler
    er GWT (Java -> JS) og Script# (C# -> JS).

3)  Bruge JS libs som prototype, scriptaculous, overlibmws etc. og kun lave en
    lille smule JS selv som bruger disse libs.

4)  Lave sit eget lib fra bunden af.

Hvis man gerne vil laere en masse om JS, HTML, standarder etc. saa er loesning #4 glimrende, men
hvis man skal levere bang for the buck, saa virker #1-3 uendeligt meget mere
tiltalende.
Avatar billede olebole Juniormester
20. december 2008 - 18:08 #5
arne_v >> det kommer jo an på hvilket forhold man har til kvalitet i arbejdet. Skal jeg købe en ny bil - eller have en gammel repareret - er jeg fuldstændig uinteresseret i, hvormeget 'bang' sælger/mekaniker kan tilfredsstille sig selv med.

I min verden er det ikke fikst at bevæge sig bagud i forhold til standarderne. Tænk, hvis browser leverandørerne pludselig en dag beslutter sig til at understøtte XHTML for alvor. Så ville det da være fikst, om ikke al kode skal udskiftes.

Men du har da ret i, at det ofte er hurtigere at lave arbejde, som ikke lever op til de for faget gældende standarder. Problemet er bare, at man let kommer til at levere 'shit for the buck' - og det er der vel ingen, som kan være interesseret i  =)
Avatar billede arne_v Ekspert
21. december 2008 - 20:23 #6
Hvis man arbejder på sin personlige hjemme side som hobby projekt, så kan man gå op i om
noget er "fikst" eller ej.

Men er det arbejder, så skal man levere værdi for pengene. Det er yderst sjældent værdi
for pengene at lave noget fra scratch.

Vi er helt enige om at hvis man vælger #4, så er det mest økonomisk at følge standarderne, fordi
hvis koden er et stort hack, så har man selv ansvaret for at få det til at virke
den dag der kommer en ny browser. Og der er nu engang betydeligt bedre chancer for at standard
kode virker i fremtiden end hacks.

Men bruger man noget eksternt kode, så er det dem der vedligeholder det som
har et problem, hvis det er noget slam kode.

Hvis jeg bruger GWT og GWT output ikke virker med IE 9, så har Google et problem ikke mig. De lacer en fix for at få deres egne sider til at virke med IE 9. Jeg henter en
opdatering til GWT og recompiler - og så virker mine sider også igen.

Der er jo heller ikke nogen som vælger styre system eller web server udfra en analyse om,
hvorvidt det er ANSI C kode eller compiler specifik C kode.
Avatar billede olebole Juniormester
21. december 2008 - 20:41 #7
Umiddelbart finder jeg det en lidt forsimplet fremstilling. Hvis GWT ikke bygger på standardiseret kode, og det er et krav fra kunden, at du bruger GWT, er det Google's og din kundes problem, hvis IE9 pludselig beslutter sig for at overholde standarderne. Hvis det derimod er din idé, er det dit problem, at du ikke forudså, der før eller siden ville opstå problemer.

Desværre er det jo langtfra altid, der indenfor rimelig tid kommer fixes fra leverandørens side. Hvormange år har vi f.eks. ikke ventet på, at MS fik rettet op på sin elendige garbage collection i IE - der har medført alenlange omskrivninger i DOM-/Ajax-sammenhænge?

Når man kode som hobby, kan man gøre, hvad somhelst. Koder man derimod professionelt, kan man naturligvis ikke tillade sig at bruge 'materialer', som ikke lever op til fagets internationale standarder. Derfor skriver man naturligvis sine egne libraries, så man er fri for at opfinde den dybe tallerken fra scratch, hvergang.

Jeg har adskillige gange hjulpet folk med problemer i forbindelse med f.eks. jQuery, fordi almindelig DOM-programmering pludselig ikke lod sig gøre, qua overskrivning med innerHTML af referencer, m.m. Bl.a. derfor holder jeg mig fra libraries, der bruger innerHTML ... men det kan der selvfølgelig være flere meninger om  =)
Avatar billede groyk Novice
21. december 2008 - 20:59 #8
Takker for svarerne, synes nu egentligt det største problem med libs, er at de sjældent rammer 100% ens behov. Og hvis man alligevel skal ændre i et lib, så er man jo ligehvidt.

Ved ikke helt hvordan jeg skal gribe det an endnu, men tror det bliver from scratch.

Men det kan vel også kombineres.

Kan i ikke smide nogle svar som tak for hjælpen?
Avatar billede arne_v Ekspert
21. december 2008 - 21:10 #9
olebole>

Hvis google search og gmail ikke virker med IE 9, så er jeg meget fortrøstningsfuld med
at der kommer en hurtig fix til GWT.

Hvis man i professionel sammenhæng som junior developer argumenterer for at udvikle libs fra
scratch, så får man at vide af en senior udvikler, at det ikke er smart. Hvis man
som senior udvikler argumenterer for det samme så skifer man status fra senior udvikler til arbejdsløs.

Man udvikler ikke sit eget styre system, ikke sin egen compiler,
ikke sit eget server side  script sprog, ikke sin egen database o.s.v. - AJAX libs er
ikke på magisk vis anderledes end andet software - man genbruger hvis man kan.

Steal with pride som det hedder.
Avatar billede olebole Juniormester
21. december 2008 - 21:26 #10
Ja, branchen er ikke så gammel, så man kan slippe afsted med det mest utrolige. At bruge defekt udstyr er naturligvis fyringsgrund i andre brancher. Derudover er det tydeligt, der også hersker væsentligt forskellige forhold i de IT-firmaer, vi hver især har arbejedet for  =)

Jo, Ajax-libs er væsentligt anderledes, da det ikke er noget voldsomt stort arbejde at skrive noget væsentligt bedre end det, der findes på markedet. Pointen er jo netop, at man ikke _kan_ genbruge, hvis man insisterer på ikke at bruge invalid kode.

Sålænge, der er tale om ordentlig kode, er jeg dog helt enig i, man skal genbruge så meget, som overhovedet muligt ... og når man én gang har skrevet sine egne libs, ville man da også være idiot, hvis man ikke genbrugte dem  ;o)
Avatar billede olebole Juniormester
21. december 2008 - 21:36 #11
- og et svar, forresten  =)
Avatar billede groyk Novice
22. december 2008 - 07:28 #12
Hvad med dig Arne, kommer der foresten et svar fra dig også?

Mht. libs. Fik vidst aldrig svar på hvilket i kan anbefale, såfremt kravet er at jeg SKAL bruge en sådan løsning.
Avatar billede arne_v Ekspert
23. december 2008 - 04:12 #13
svar
Avatar billede arne_v Ekspert
23. december 2008 - 04:24 #14
Med hensyn til anbefalinger:

re #1)

JSP - jeg kan godt komme med forskellige anbefalinger, men jeg antager at det ikke er relevant for dig

ASP.NET - AJAX kommer standard, så brug det

PHP - jeg ved ikke hvad der godt og hvad der er skidt

re #2)

GWT - Google er helt klart en software leverandør som man kan regne med også eksisterer om 2 år

Script# - ville jeg være lidt bekymret ved at satse på - det er et enmands projekt - men jeg kender projekter som bruger det

re #3)

prototype, scriptaculous og overlibmws er alle meget brugte.

overlibmws er også et enmands projekt, men den ene person er Foteos Macrides og det
mener jeg i et eller andet omfang borger for kvaliteten (jeg kender ikke så meget
til hans JavaScript lib, men jeg kender hans arbejde med Lynx og diverse CGI scripts
tilbage midt i 90'erne)

prototype og scriptaculous synes at have et solidt fundament
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester