ANNONCE:
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.
Fortsættes ...



