Computerworld News Service: For de fleste virker det ret åbenlyst, hvorfor nettet er blevet den foretrukne platform til udvikling af virksomheds-applikationer - især nu hvor økonomien halter.
Der er ingen tvivl om, at Google har meget med den stigende brug af cloud computing at gøre. Men med mindre din virksomhed også er førende leverandør af såkaldte 'internet information services', bør du måske tænke dig om en ekstra gang, før du giver dig i kast med cloud computing.
Web-udvikling er populært, fordi det er hurtigt, alsidigt og relativt billigt - og det er ikke noget problem at finde udviklere. Men det er ikke ensbetydende med, at de andre alternativer ikke også har fordele, og i nogle tilfælde vejer nettets svagheder tungere end dets styrker.
For at skabe lidt sund debat præsenterer vi her fem gode grunde til, at det ikke nødvendigvis er den bedste løsning at koncentrere hele sin udviklingsindsats på browser-baserede applikationer.
1. Klient-server om igen
Web-applikationer lægger op til en tynd klient-tilgang: Klienten håndterer UI-rendering og bruger-input, men den egentlige databehandling foregår på servere.
Og hvad nytter det, når en hvilken som helst moderne pc indeholder nok CPU og GPU-power til at bringe skam over gårsdagens supercomputer?
Det er fint at koncentrere al sin computing-power i datacentret, hvis man er på størrelse med Google eller Microsoft, men den metode lægger stort pres på de mindre spillere på markedet. Og det kan være en stor udfordring at skalere små server-farme til at dække efterspørgslen - bare spørg Twitter!
Derudover er det umuligt at undgå fejl på grund af de mange sikkerheds-sårbarheder i netværkede applikationer, og fordi browseren i sig selv er så kompleks. Og hvorfor gøre det sværere end nødvendigt?
2. Web-UI'er er besværlige
Nettets tilstandsløse og hovedsageligt skabelon-baserede UI-tilgang er driftssikker, men det er ikke nødvendigvis den rigtige model til alle applikationer.
Hvorfor give afkald på den realtime-interaktivitet, der følger med de traditionelle OS-baserede applikationer? Teknologier som AJAX simulerer kun det, systemprogrammering allerede gør i browseren.
Og selvom systemprogrammører er vant til at bygge applikationer med konsekvente UI-værktøjer som Windows-API'er, Apples Cocoa eller Nokias Qt, kræver udviklingen af en web-UI ofte, at man genopfinder den dybe tallerken.
Knapper, kontroller og widgets varierer fra applikation til applikation. Nogle gange ligger menuerne i toppen og andre lange ned langs siden. Nogle gange popper de op, når man kører musen hen over dem, og andre gange ryger de ud til siden. Den form for inkonsekvens kan være skadelig for udviklings-budgettet, men det går værre ud over brugbarheden.
3. Browser-teknologier er begrænsende
Hvorfor opgive den samlede pakke med sprog, værktøjer og metoder, som systemprogrammering kan tilbyde? JavaScript har udviklet sig til et hæderligt sprog, der kan bruges til de fleste formål, men man skal ikke forvente mirakler.
Kode til brugergrænseflader i sprog som C++, Objective C eller Python kan ofte være både mere effektive og lettere at vedligeholde end kode, der er skrevet til nettet.
Derudover er HTML og CSS helt klart utilstrækkelige, når det gælder interaktivitet. Se bare hvor hurtigt multimedie-plugins som Flash, QuickTime og Silverlight har udviklet sig.
Ved at gøre sig afhængig af disse eksterne faktorer øges applikationernes kompleksitet og support-omkostninger. Hvorfor så overhovedet prøve? Disse tricks ville slet ikke være nødvendige, hvis du ikke forsøgte at proppe interaktiviteten ind i browseren i stedet for at holde dig til desktoppen.
Giganterne bestemmer
4. De store leverandører bestemmer farten
Sun Microsystems' CEO Jonathan Schwartz beskrev for nylig browseren som "fjendtligt territorium" for uafhængige udviklere.
Det er en verden, der er opdelt mellem giganter med Microsofts Internet Explorer på den ene side og Googles andel i Chrome og Firefox på den anden side, sagde han.
Jonathan Schwartz' udtalelser er måske selviske, men han har en god pointe.
Udviklingen af web-standarder drives i stigende grad af de store browser-leverandører - nye funktioner implementeres først og standardiseres senere. Uafhængige udviklere får ikke stort set ingen indflydelse på den retning, nettet skal udvikles i i fremtiden, for ikke at tale om det konstante mundhuggeri blandt leverandørerne.
Hvorfor bero på klient-software, når det er så ustabilt?
5. Skal alle medarbejdere have en browser?
Der var engang, hvor en computer på en medarbejders skrivebord var til at arbejde på.
I dag er enhver pc med netadgang en hurtig vej til shopping, tv og film, spil, musik, online-chat og utallige andre afledninger - herunder mere forbudte aktiviteter som porno og copyright-overtrædelser for ikke at tale om at pc'erne bliver mere sårbare over for phishing og malware.
Nogle vil mene, at det er uklogt at give medarbejderne fri adgang til nettet, hvis virksomheden lægger vægt på produktivitet, især i miljøer med stor udskiftning som help desks og callcentre.
Men hvis virksomhedens interne applikationer er web-baserede, er man nødt til enten at hoste dem internt eller have strenge regler for routere eller firewalls for at undgå misbrug af internet-tjenester.
Er det så alt hvad der er at sige om web-baserede applikationer? Selvfølgelig ikke. For mange applikationer er web-baseret udvikling og anvendelse den billigste og hurtigste vej til markedet.
Men i vores store iver for at spare penge ved at bruge web-standarder og -teknologier er det også vigtigt at være opmærksom på bagsiden af medaljen.
Oversat af Mille Bindslev