Google Developers
# Google Developers

Google Developers (vormals Google Code) ist eine Bündelung mehrerer Onlinedienste von Google für Softwareentwicklungswerkzeuge, Programmierschnittstellen (API) und technische Ressourcen. Google Developers beinhaltet auch Dokumentationen für Google Entwicklungswerkzeuge und API sowie auch Diskussionsgruppen und Blogs für Google Developer-Produkte.

Programmierschnittstellen für Entwickler werden von Google für die meisten Endbenutzerprodukte angeboten, darunter Google Maps, YouTube, und G Suite.

Die Plattform bietet auch einige Produkte direkt für Entwickler an: die Google App Engine ist ein Dienst zum hosten von Webanwendungen. Google Code bietet eine Versionsverwaltung für Open-Source-Anwendungen. Das Google Web Toolkit (GWT) ermöglicht die Erstellung von AJAX-Webanwendungen mithilfe von Java.

Darüber hinaus bietet Google Developer weitere Referenz zu Projekten, an denen Google beteiligt ist. Darunter fällt unter anderem Android von der Open Handset Alliance und OpenSocial von der OpenSocial Foundation.

## Google API

Google bietet eine Reihe von API an. Die meisten sind Web API und für Webentwickler ausgerichtet. Diese Schnittstellen basieren auf bekannten Google-Produkten wie Google Maps, Google Earth, AdSense, Adwords, Google Workspace und YouTube. Einige der API wurden mit der Zeit nur noch kostenpflichtig angeboten.

### Google Data API

Die Google Data API ermöglichen Entwicklern, Anwendungen zu erstellen, die Daten aus Google-Produkten lesen und schreiben können. Momentan sind solche API für Google Apps, Google Analytics, Blogger, Google Base, Google Book Search, Google Calendar, Google Code Search, Google Earth, Google Spreadsheets, Google Notebook und Picasa Web Albums verfügbar.

### Ajax API

Die für Webanwendungen ausgelegten Ajax API erleichtern die Implementierung von dymanischen Webseiten komplett in JavaScript und HTML. Dadurch ist es einfach für Entwickler, z. B. dynamische Suchen oder herunterladbare Feeds mithilfe weniger Zeilen JavaScript einzubauen.

### Ads API

Die AdSense und AdWords API, basierend auf dem SOAP-Standard, erlauben Entwicklern eine Integration ihrer Applikationen in die beiden Google-Produkte. Die AdSense API bietet Eigentümern von Webseiten und Blogs, Zugriff auf ihre AdSense Anmeldedaten, Inhalte und Berichte, während die AdWords API AdWords-Kunden Entwicklerzugangen zu den Inhalten und Funktionen bereitstellt.

## Entwicklerwerkzeuge und Open-Source-Projekte

### App Engine

Mithilfe der Google App Engine können Webanwendung mit Zuhilfenahme von Googles Infrastruktur gehostet werden. Die App Engine unterstützt verschiedene Programmiersprachen. Mit der darauf verfügbaren Java-Laufzeitumgebung können Anwendungen unter Benutzung der bekannten Java-Technologien wie der JVM, den Java servlets, der Java Programmiersprache oder jeder anderen Sprache, die einen JVM-basierenden Compiler oder Interpreter nutzt, erstellt werden. Die App Engine stellt zudem eine dedizierte Python-Laufzeitumgebung samt Interpreter und Standardbibliothek zur Verfügung.

### Google Plugin for Eclipse

Google Plugin for Eclipse (GPE) beinhaltet eine Reihe an Entwicklerwerkzeugen für Java-Entwickler, um Cloud-Anwendungen zu erstellen und zu verteilen. GPE hilft Entwicklern, komplexe Ajax-Anwendungen mithilfe des Google Web Toolkit zu erstellen. Zudem wird die Geschwindigkeit durch den Speed Tracer, optimiert. Es besteht eine direkte Schnittstelle zur App Engine. GPE wird als Plug-in in Eclipse installiert. GPE untersteht Googles Nutzungsbedingungen.

### Google Web Toolkit

Das Google Web Toolkit (GWT) ist ein Open-Source-Werkzeugsatz zur Erstellung von Ajax-Anwendungen in Java. GWT unterstützt Client-Server-Entwicklung und Debugging in jeder Java IDE. Im anschließenden Deployment-Schritt übersetzt GWT die funktionierende Java-Anwendung in ein JavaScript-Äquivalent, das in einem Webbrowser ein HTML DOM mithilfe von DHTML-Techniken manipulieren kann. Ein besonderes Feature sind die wiederverwendbaren Lösungen für wiederkehrende JavaScript-Aufgaben, z.B: asynchrone RPCs, Verlaufsmanagement, Lesezeichen und Cross-Browser-Unterstützung. Das Google Web Toolkit wurde in der Apache License Version 2.0 freigegeben.

### Google Code

Google Code war ein Projekthostingsdienst der u. a. Versionsverwaltung-Programme wie Subversion, Mercurial oder Git sowie einen Bugtracker und ein Wiki für Dokumentationen bot. Der Dienst war für alle OSI-genehmigten Open-Source-Projekte kostenfrei nutzbar (ab 2010 war es nicht mehr erforderlich, aber sehr empfohlen, bekannte Open-Source-Lizenzen zu verwenden wie: Apache, Artistic, BSD, GPLv2, GPLv3, LGPL, MIT, MPL and EPL). Eine Person konnte bis zu 25 Projekte erstellen. Zusätzlich gab es weitere Limitierungen. Es konnten nur eine bestimmte Anzahl von Projekten an einem Tag erstellt werden, die standardmäßige verfügbare Projektgröße betrug 200 MB, konnte aber bis maximal 5 GB erweitert werden.

Bis Mai 2013 gab es eine vollständig nutzbare Download-Sektion für Dateien in einem Projekt, danach wurde jedoch die Möglichkeit für neue Downloads geschlossen. Am 14. Januar 2014 wurden die Downloads komplett deaktiviert.

Im März 2015 kündigte Google an, das Projekt "Google Code" bis Ende 2016 zu beenden. Für den Export der Projekte, z. B. zu GitHub wurden Tools angeboten.

### Gears

Gears war eine Software, um Offlinezugriff zu Projekten zu ermöglichen, die sonst nur Online funktionieren. Es hat eine SQLite-Datenbank auf dem lokalen Computer installiert um Daten dort zu cachen. Gears-unterstützende Seiten nutzten den lokalen Cache statt den Onlinezugriff. Mithilfe von Gears konnten eine Webapplikation regelmäßig die Daten online abgleichen. War eine Verbindung zum Dienst nicht möglich, wurde bis zur nächsten Verbindung abgewartet. Somit waren Anwendungen mit Gears unabhängig von der Internetverfügbarkeit. Die Entwicklung von Gears wurde 2011 gestoppt.

## Beschränkungen

Google Code ist in einigen Ländern, die auf der United States Office of Foreign Assets Control Sanktionsliste stehen, gesperrt. Dazu gehören Kuba, Iran, Nordkorea, Sudan und Syrien.

## Google Entwicklerveranstaltungen

* Die Google I/O ist Googles größte Entwicklerveranstaltung die seit 2009 im Moscone Center in San Francisco gehalten wird
* Google Developer Day ist Googles jährliches Entwicklerevent
* Google Summer of Code ist ein Mentorprogramm, um Jugendliche und Studenten für die Entwicklung freier Software zu begeistern. In 2007 nahmen daran 6200 Anwender teil
* Google Code Jam ist ein jährlicher Programmierwettbewerb

## Google Developer Groups

Google Developer Groups (GDGs) sind für interessierte Entwickler an Googles Entwicklungstechniken gedacht. Ein GDG kann mehrere Klassen haben – von ein paar Entwickler, die sich zusammen treffen, bis zu „Tech talks“ und großen Hackathons. Im März 2015 gab es mehr als 600 GDGs weltweit.

