Med komponenter agiterer Google til en revolution inden for webudvikling

På Google I / O-konferencen i denne uge lobbede virksomheden kraftigt udviklere til at vedtage en ny programmeringsmodel, en, som virksomheden hævdede, kunne gøre det radikalt lettere at opbygge webapplikationer.

I flere sessioner gennem konferencen talte Google-ingeniører om Web Components, en udviklende World Wide Web Consortium (W3C) standard designet til at hjælpe med at organisere komplekse websider ved at tilvejebringe en mekanisme til at samle dem ved hjælp af små enkeltfunktionskomponenter.

”Webkomponenter ændrer webplatformen fuldstændigt. Dette er ikke hyperbole. Dette ændrer faktisk alt, ”sagde Matthew McNulty, en Google ingeniørchef, under en præsentation på konferencen, der blev afholdt i San Francisco.

Standarden kan være vigtig, fordi “den introducerer en ny verden, hvor komponenter fra forskellige leverandører kan leve sammen på samme side. Apps kan udformes fra dele, der findes på en massiv hylde, ”McNulty. ”Det handler om komposibilitet. Det giver dig lige nok af en beholder, at Internettet bliver komponerbart. ”

Google har arbejdet på sit eget bibliotek, kaldet Polymer, der gør det lettere at bruge og udvide webkomponenter. "Polymer gør alt det hårde arbejde for at gøre [Web Components] til et sammenhængende system," sagde McNulty.

”Ideen bag Polymer er at udnytte Web Components-standarden,” sagde Al Hilwa, en IDC-forskningsprogramleder for softwareudvikling.

Hilwa bemærkede, at Polymer er et forsøg på at bringe avanceret udvidbarhed til Web-platformen, på meget den samme måde som Java Enterprise Edition og Microsoft. Net giver udviklere mulighed for at dele komponenter og hurtigt bygge applikationer ved hjælp af andres arbejde..

Selvom arbejdet med webkomponenter har foregået siden 2010, ser teknologien nu ud til at tage fart.

Googles Chrome 36, der sendes om et par uger og er klar i beta-kanalen nu, understøtter webkomponenter. Det er den første browser, der gør det.

”Dette er en milepæl i webudvikling,” sagde Eric Bildeman, en Google-ingeniør, der arbejder på Chrome-teamet, under en anden præsentation om teknologien.

På mange måder leverer webkomponenter endelig de avancerede kodningsværktøjer og teknikker, som udviklere på andre sprog længe har haft, såsom objekter, skabeloner og databinding (skønt databindingen tilbydes af Polymer, ikke Webkomponenter selv).

På trods af sin næsten universelle brug i det sidste årti, er HTML, der giver det grundlæggende mark-up-format til opbygning af websider, ikke meget fremskredet med hensyn til at hjælpe udviklere med at bygge komplekse webapplikationer, sagde Bildeman.

For eksempel er der ingen standardiseret måde i HTML til at indlæse yderligere elementer på en webside uden hjælp fra eksterne teknologier som PHP eller Apache-moduler. Både JavaScript og CSS (Cascading Style Sheets) har længe tilbudt muligheden for at ringe til eksterne filer, når en browser gengiver en webside.

Den nylige fremkomst af HTML5 har givet megen støtte til avanceret teknologi, såsom lokal opbevaring, geolocation og semantisk tagging. Men webkomponenter er specifikt designet til at gøre udviklere mere produktive, sagde Bildeman.

Imidlertid kræver webkomponenter en anden måde at tænke på, hvordan man bygger webapps, sagde Bildeman.

Webkomponenter er faktisk et paraplybegrep, der dækker fire forskellige specifikationer, der, når de bruges sammen, giver grundlaget for opbygning af en komponentiserede websider.

Måske er kerneteknologien til webkomponenter et importmærke til HTML. Selvom det lyder enkelt, kan HTML-importmærket redde udviklere fra det, der er kendt som afhængighedshelvede, hvor de i en krop af en side skal erklære alle de biblioteker, der er nødvendige for at udføre koden..

I stedet kan udviklere integrere disse oplysninger i en komponent og få siden til at ringe til komponenten. Komponenten kan derefter også bruges af andre sider.

Importmærket giver udviklere mulighed for at definere deres egne elementer, som derefter kan kaldes af browseren.

Brugere kan skrive deres egne elementer, bruge dem skrevet af andre eller endda udvide de elementer, som andre har oprettet med nye funktioner. Elementer kan også indeholde forbindelser til andre ressourcer på Internettet ved at ombryde eksterne API'er (interfaceprogrammer til applikationsprogrammering).

”Der er logisk adskillelse nu. Det handler om at opdele problemet, så det er ikke længere bare en masse JavaScript, HTML og CSS, som du håber, at de vil arbejde sammen, ”sagde Bildeman.

Ud over Google ser andre browsere-producenter ud til at se hårdt på teknologien.

Mozilla har allerede inkluderet en række funktioner til understøttelse af webkomponenter, og Apple og Microsoft ser ud til at undersøge muligheden for at inkludere support i deres browsere. Opera, fordi den bruger Google Chrome Blink-layoutmotor, understøtter som standard webkomponenter.

Google har testet webkomponenter i sine egne operationer. Polymer-stedet bruger komponenter. Googles websted til dokumentation af udviklingen i Chrome-udvikling bruger også komponenter til at hente data fra en database og gengive dem på skærmen.

ChromeOS-operativsystemet, der bruges i Google Chromebooks, bruger Web Components til at drive det virtuelle tastatur og medieafspiller.

Interessen for webkomponenter ser ud til at vokse også andre steder. Et antal komponentregistre, hvor udviklere kan bruge og bidrage med deres egne komponenter, er dukket op, herunder tilpassede elementer, komponentkøkken og WebComponents.org.

”Dette økosystem er lige ved at komme i gang,” sagde McNulty.

Deltag i Network World-samfundene på Facebook og LinkedIn for at kommentere emner, der er øverste af sindet.