Computerworld News Service: Google arbejder på adskillige avancerede programmerings-teknologier, der skal gøre det lettere at udvikle komplekse web-applikationer, lyder det fra en af Googles softwareingeniører.
"Vi er ved at være der, hvor nettet er en run-time integrations-platform for virkelige komponenter," siger Alex Russell fra Google.
Han er også ophavsmand til det udbredte JavaScript-framework Dojo.
Ingen fælles komponentmodel
På trods af nettets popularitet tilbyder det kun relativt primitive programmerings-muligheder sammenlignet med andre platforme til levering af applikationer såsom Java eller Microsoft Windows.
En af de største mangler er, at der ikke findes nogen "fælles komponentmodel" blandt de forskellige web-teknologier.
Det gør det langsommere at arbejde med test og genbrug af kode, lyder vurderingen fra Russell.
Google arbejder dog på flere forskellige projekter om at anvende avancerede koncepter inden for softwareudvikling på nettet, fremhæver Russell.
Hensigten er at introducere finmaskede kontrolelementer uden at gøre web-stacken mere forvirrende for nybegyndere.
En stor del af nettets styrke ligger netop i dets brugervenlighed i forhold til udvikling, lyder det fra Alex Russell.
Overbærende overfor fejl i koden
Udviklerne kan se og genbruge kildekode.
Browsere er ret overbærende overfor fejl i koden og teknologier såsom CSS (Cascading Style Sheets) giver enkle metoder til at løse komplekse problemer såsom formatering af tekst.
Men denne brugervenlighed virker desværre også begrænsende for, hvad der programmeringsmæssigt er muligt at udtrykke.
I CSS er det "et beklageligt faktum, at man ikke har mulighed for at gå ind og tegne sin egen form for linje," fremhæver Russell.
"Man får det samme tekstlayout på alle websites. Man får det samme design, fordi man er underlagt de samme begrænsninger," siger han.
Dette arbejder Google på
Googles arbejder blandt andet på at udvikle en fælles komponentmodel, føje klasser til JavaScript og er endda i gang med at udvikle sit eget programmeringssprog til store web-applikationer.
Med en fælles komponentmodel sigter Google efter at gøre udviklerne i stand til at "oprette nye instances af et element og gøre ting med dem," siger han.
Russell fremviser for eksempel et nyt element, han kalder commenting. På websider, der tillader brugerkommentarer, kan commenting-elementet, renderet som et tag, automatisk formatere brugerens tekst og endda tilføje et medfølgende billede.
Dette tag er i virkeligheden et program med sin egen API, forklarer Russell.
Med den fælles komponentmodel kan HTML fungere som subklasse i et større miljø, hvilket giver mulighed for at behandle HTML-koden på flere måder.
Klasser til næste version af Javascript
Googles softwareingeniører arbejder desuden på et forslag om at føje klasser til den næste version af JavaScript.
Klasser er et centralt element i objektorienteret programmering og fungerer som arbejdstegninger for genanvendelige bidder af data og adfærd.
Som det er i dag, understøtter JavaScript ikke klasser.
Derfor anvender mange JavaScript-udviklere funktionskald til at definere mange stykker kode, som egentlig ikke er funktioner, såsom metoder og såkaldte constructors.
Det er tidskrævende og gør koden sværere at genbruge.
"Vi har bygget alting op ud fra disse primitiver. Vi kan ikke dele noget som helst. Vi har intet fælles sprog til web-platformen," beklager Russell. Men med JavaScript-klasser "nærmer vi os et sted, hvor vi får et fælles sprog til beskrivelse af de ting, vi i forvejen gør i selve platformen," siger han.
Et andet relateret initiativ fra Google er det nye programmeringssprog ved navn Dart, som selskabet introducerede sidste år.
Små applikationer
"De aktuelle sprog er svære at skalere i forbindelse med udvikling af virkelig komplekse applikationer til nettet. Det er svært at skabe gode værktøjer til dem," siger Dan Rubel, der er softwareudvikler hos Google og med i teamet bag Dart.
Målet med Dart er at nå frem til en nem måde at udvikle små web-applikationer samtidig med også at understøtte udvikling af store, komplekse applikationer, forklarer Rubel.
Oversat af Thomas Bøndergaard