mboost-dp1

Google

Google frigiver interne JavaScript-programmeringsværktøjer

- Via Google Code blog - , indsendt af Skak2000

Google har meget erfaring når det kommer til at lave webapplikationer, som Gmail, Google Docs, Google Maps m.fl. Det er blandt andet blevet til en række egenudviklede JavaScript-værktøjer, som Google nu frigiver nogle af som open source.

Pakken kalder Google for Closure Tools, og indeholder tre forskellige værktøjer; Closure Compiler, Closure Library og Closure Templates.

Det første værktøj, Closure Compiler, er beregnet til at optimere og generere kompakt og effektiv JavaScript-kode. Det gør den blandt andet ved at finde og fjerne “død” kode og omskrive resten så det afvikles hurtigst muligt.

Med Closure Library får man adgang til et gennemtestet JavaScript-bibliotek, der indeholder en masse funktioner programmører kan genbruge i deres kode. Det kan være værktøjer til at håndtere animationer, serverkommunikation, tekstredigering m.m..

Sidst er der Closure Templates der er en række af skabeloner som har fokus på effektiv JavaScript-kode. Der er tale om små komponenter, der ifølge Google gør det nemmere at bygge sin brugergrænseflade.





Gå til bund
Gravatar #1 - Cambiare
6. nov. 2009 12:01
Bruger ikke selv GMail bruger de frameworks såsom jQuery og Mootools til deres AJAX samt animationer eller er det det som deres Closure Library indeholder?
Gravatar #2 - Windcape
6. nov. 2009 12:08
#1

Nej, de bruger GWT, et Java (Ja, ikke JavaScript) library.

Og så vidt jeg kan se, er dette her noget teknologi som bygger op af det. Closure Templates er ihvertfald bygget op omkring Java.
Gravatar #3 - skooterkurt
6. nov. 2009 12:16
#2 Ahem bruger de ikke Google Gears?
Gravatar #4 - johanmw
6. nov. 2009 12:16
Jeg forstår ikke GWT.

#3
Google Wave er skrevet udelukkende i GWT.

ONTOPIC:

Det lyder sgu da ret godt at de deler ud af goderne :)
Gravatar #5 - Windcape
6. nov. 2009 12:26
skooterkurt (3) skrev:
#2 Ahem bruger de ikke Google Gears?
Nej, Gears er noget helt andet.
Gravatar #6 - hojberg
6. nov. 2009 12:40
Gmail bruger IKKE GWT, men Closure (som er noget de har lavet igennem mange år) - det samme gælder google docs og google maps (og sikkert et par mere)

GWT er et nyere projekt som de i starten ikke selv hoppede på.
Først da Google Wave teamet besluttede at bruge det begyndte der at ske ting og sager, de har dog kommet med en masse ændringer til GWT teamet som bliver releaset GWT 2.0 som de arbejder på pt.

Ud over Google wave er der også et par andre der bruger GWT, blandt andet Google Adwords. Tror muligvis Google Reader også bruger GWT, men er ikke sikker.

Den store forskel på Closure og GWT er at closure er helt normal javascript hvor GWT skrives med java som complies om til javascript.

Gears er en helt trejde ting. Det er en browser extension der blandt andet gør det muligt at dragge og droppe billeder ind i browseren.
Det er (snart var) Googles start på HTML5 satsningen
Gravatar #7 - Windcape
6. nov. 2009 12:55
#6

Google Calendar benytter ihvertfald GWT, mon ikke også de har blendet det ind andre steder?
Gravatar #8 - photonatic
6. nov. 2009 13:09
Det gør den blandt andet ved at finde og fjerne "død" kode og omskrive resten så det afvikles hurtigst muligt.


Kodeoptimering tiltaler mig. Nogen der ved om det er gældende for samtlige fortolkere såsom PHP, at kode bliver direkte afviklet som det er skrevet, hvorved der ikke er mulighed for optimering vha. statisk analyse? Og i så fald, hvad gør man for at ens PHP-kode bliver optimeret? Hm, når jeg nu tænker på det, sælger Zend vist nok et PHP-optimeringsværktøj - det svarer måske mit eget spørgsmål. :-)
Gravatar #9 - hojberg
6. nov. 2009 13:11
#7 well de skriver i al fald selv at gmail, docs og maps ikke bruger gwt, men closure

og det har også været kendt i længere tid i gwt communitiet at gmail ikke er gwt
Gravatar #10 - johanmw
6. nov. 2009 14:47
Jeg forstår ikke hvordan det er muligt at udvikle websites via java (GWT) - javascript er for mig da netop udviklet til at arbejde sammen med html.
Gravatar #11 - Windcape
6. nov. 2009 14:51
johanmw (10) skrev:
Jeg forstår ikke hvordan det er muligt at udvikle websites via java (GWT) - javascript er for mig da netop udviklet til at arbejde sammen med html.
heh, HTML.

De fleste af Googles applikationer er skrevet i 99% javascript, hvor GWT så er et Java framework der "laver javascript" som output.
Gravatar #12 - arne_v
6. nov. 2009 14:52
johanmw (10) skrev:
Jeg forstår ikke hvordan det er muligt at udvikle websites via java (GWT)


GWT oversætter Java til JavaScript i.s.f. Java byte code.
Gravatar #13 - johanmw
6. nov. 2009 15:06
arne_v (12) skrev:
GWT oversætter Java til JavaScript i.s.f. Java byte code.


Det forstår jeg godt - men hvorfor ikke bare lave det direkte i javascript?
Gravatar #14 - arne_v
6. nov. 2009 15:14
#13

Java syntax er bedre til at finde problemer compile time og gennemtvinge struktur end JavaScript. Derfor antager man at koden er nemmere at vedligeholde.
Gravatar #15 - dummyddd
6. nov. 2009 15:47
#8
Ifølge wiki er det ret almindeligt for php engines at kompilere koden inden brug, dvs. der bruges potentielt optimeringer:
http://en.wikipedia.org/wiki/PHP#Speed_optimizatio...
Der er også referencer til compilere, så man manuelt kan kompilere
Gravatar #16 - Kordonme
6. nov. 2009 18:23
http://code.google.com/intl/da/closure/templates/ skrev:
Battle-tested. Closure Templates are used extensively in some of the largest web applications in the world, including Gmail and Google Docs.


Står der på det link der linker til Closure.
Gravatar #17 - arne_v
6. nov. 2009 18:27
#14

Og for dem som er mere til C# end Java se:
http://projects.nikhilk.net/ScriptSharp
Gravatar #18 - Windcape
6. nov. 2009 18:44
#17

Det minder lidt om Microsoft Volta fra Microsoft Labs.

http://livelabs.com/blog/volta-offline/ og
http://en.wikipedia.org/wiki/Microsoft_Volta
Gravatar #19 - Hjorth
7. nov. 2009 17:30
Nu legede jeg og Lord Mike lige lidt med det her.
Vi tog en md5 algoritme, og loopede 60000 gange, hvor den satte en variabel til md5 af den selvsamme variabel (vi hashede den forrige hash).

Hele dette script kørte vi så gennem deres compiler, som de kalder det.
I firefox gik det et par sekunder hurtigere (ca. fra 10-8 sekunder).
Det sjove kommer så når man kører det gennem Google Chrome.

Chrome kører det ukompilerede script en del hurtigere end det kompilerede :)
Gravatar #20 - arne_v
7. nov. 2009 20:55
#19

Det kan godt være svært at optimere kode så det kører hurtigere i alle environments.

Og jeg tror ikke at man prioriterer matematiske udregninger som MD5 hash, når man skal beslutte hvad der skal optimeres mest.

Men stadig interessant.
Gravatar #21 - mathiass
9. nov. 2009 04:58
#19: Google optimeringer har (i hvert fald i Chrome) gået på at få dispatching af metoder og lignende sprog-ting til at køre hurtigere. Det kan man også gøre compile time ting for at forbendre på. Hvor hurtigt en algoritme som MD5 kører hvis man looper den 60000 gange er fuldstændig og aldeles uinteressant uden for benchmark verdenen. Det lyder umiddelbart som en god ting at Google ikke har spildt tid på det...
Gå til top

Opret dig som bruger i dag

Det er gratis, og du binder dig ikke til noget.

Når du er oprettet som bruger, får du adgang til en lang række af sidens andre muligheder, såsom at udforme siden efter eget ønske og deltage i diskussionerne.

Opret Bruger Login