Google Code is
GoogleGoogle Inc. is an American multinational public corporation invested in Internet search, cloud computing, and advertising technologies. Google hosts and develops a number of Internet-based services and products, and generates profit primarily from advertising through its AdWords program...
's site for developer tools, APIs and technical resources. The site contains documentation on using Google developer tools and
APIAn application programming interface is a source code based specification intended to be used as an interface by software components to communicate with each other...
s—including discussion groups and blogs for developers using Google's developer products.
There are APIs offered for almost all of Google's popular consumer products like
Google MapsGoogle Maps is a web mapping service application and technology provided by Google, free , that powers many map-based services, including the Google Maps website, Google Ride Finder, Google Transit, and maps embedded on third-party websites via the Google Maps API...
,
YouTubeYouTube is a video-sharing website, created by three former PayPal employees in February 2005, on which users can upload, view and share videos....
,
Google AppsGoogle Apps is a service from Google providing independently customizable versions of several Google products under a custom domain name. It features several Web applications with similar functionality to traditional office suites, including: Gmail, Google Groups, Google Calendar, Talk, Docs and...
and others.
The site also features a variety of developer products and tools built specifically for developers.
Google App EngineGoogle App Engine is a platform as a service cloud computing platform for developing and hosting web applications in Google-managed data centers. It virtualizes applications across multiple servers,...
is a hosting service for web apps. Project Hosting gives users version control for
open sourceThe term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...
code.
Google Web ToolkitGoogle Web Toolkit is an open source set of tools that allows web developers to create and maintain complex JavaScript front-end applications in Java. Other than a few native libraries, everything is Java source that can be built on any supported platform with the included GWT Ant build files...
(GWT) allows developers to create
AjaxAjax is a group of interrelated web development methods used on the client-side to create asynchronous web applications...
applications in the
Java programming languageJava is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...
.
The site contains reference information for community based developer products that Google is involved with like Android from the Open Handset Alliance and
OpenSocialOpenSocial is a set of common application programming interfaces for web-based social network applications, developed by Google along with MySpace and a number of other social networks.It was released November 1, 2007....
from the OpenSocial Foundation.
Google APIs
Google offers a variety of APIs, mostly
web APIsA web API is typically a defined set of HTTP request messages along with a definition of the structure of response messages, typically expressed in JSON or XML...
for web developers. The APIs are based on popular Google consumer products, including
Google MapsGoogle Maps is a web mapping service application and technology provided by Google, free , that powers many map-based services, including the Google Maps website, Google Ride Finder, Google Transit, and maps embedded on third-party websites via the Google Maps API...
,
Google EarthGoogle Earth is a virtual globe, map and geographical information program that was originally called EarthViewer 3D, and was created by Keyhole, Inc, a Central Intelligence Agency funded company acquired by Google in 2004 . It maps the Earth by the superimposition of images obtained from satellite...
,
AdSenseGoogle AdSense which is a program run by Google Inc. allows publishers in the Google Network of content sites to automatically serve text, image, video, and rich media adverts that are targeted to site content and audience. These adverts are administered, sorted, and maintained by Google, and they...
,
AdwordsGoogle AdWords is Google's main advertising product and main source of revenue. Google's total advertising revenues were USD$28 billion in 2010. AdWords offers pay-per-click advertising, cost-per-thousand advertising, and site-targeted advertising for text, banner, and rich-media ads. The AdWords...
,
Google AppsGoogle Apps is a service from Google providing independently customizable versions of several Google products under a custom domain name. It features several Web applications with similar functionality to traditional office suites, including: Gmail, Google Groups, Google Calendar, Talk, Docs and...
and
YouTubeYouTube is a video-sharing website, created by three former PayPal employees in February 2005, on which users can upload, view and share videos....
.
Google Data APIs
The Google Data APIs allow programmers to create applications that read and write data from Google services. Currently, these include APIs for
Google AppsGoogle Apps is a service from Google providing independently customizable versions of several Google products under a custom domain name. It features several Web applications with similar functionality to traditional office suites, including: Gmail, Google Groups, Google Calendar, Talk, Docs and...
,
Google AnalyticsGoogle Analytics is a free service offered by Google that generates detailed statistics about the visitors to a website. The product is aimed at marketers as opposed to webmasters and technologists from which the industry of web analytics originally grew. It is the most widely used website...
,
BloggerBlogger is a blog-publishing service that allows private or multi-user blogs with time-stamped entries. It was created by Pyra Labs, which was bought by Google in 2003. Generally, the blogs are hosted by Google at a subdomain of blogspot.com. Up until May 1, 2010 Blogger allowed users to publish...
,
Google BaseGoogle Base was an online database provided by Google into which any user can add almost any type of content, such as text, images, and structured information in formats such as XML, PDF, Excel, RTF, or WordPerfect. As of September 2010, the product has since been promoted to Google Merchant Center...
,
Google Book SearchGoogle Books is a service from Google that searches the full text of books that Google has scanned, converted to text using optical character recognition, and stored in its digital database. The service was formerly known as Google Print when it was introduced at the Frankfurt Book Fair in October...
,
Google CalendarGoogle Calendar is a free time-management web application offered by Google. It became available on April 13, 2006, and exited the beta stage in July 2009...
,
Google Code SearchGoogle Code Search is a free beta product from Google which debuted in Google Labs on October 5, 2006 allowing web users to search for open-source code on the Internet. Code Search will be shut down along with the Code Search API on January 15, 2012....
,
Google EarthGoogle Earth is a virtual globe, map and geographical information program that was originally called EarthViewer 3D, and was created by Keyhole, Inc, a Central Intelligence Agency funded company acquired by Google in 2004 . It maps the Earth by the superimposition of images obtained from satellite...
,
Google SpreadsheetsGoogle Docs is a free, Web-based office suite, and data storage service offered by Google. It allows users to create and edit documents online while collaborating in real-time with other users. Google Docs combines the features of Writely and Spreadsheets with a presentation program incorporating...
,
Google NotebookGoogle Notebook is a free online application offered by Google that allows users to save and organize clips of information while conducting research online. The browser-based tool permits a user to write notes, clip text and images, and save links from pages during a browser session. The...
, and Picasa Web Albums.
Ajax APIs
Google's Ajax APIs let a developer implement rich, dynamic websites entirely in
JavaScriptJavaScript is a prototype-based scripting language that is dynamic, weakly typed and has first-class functions. It is a multi-paradigm language, supporting object-oriented, imperative, and functional programming styles....
and HTML. A developer can create a map to a site, a dynamic search box, or download feeds with just a few lines of JavaScript.
Ads APIs
The
AdSenseGoogle AdSense which is a program run by Google Inc. allows publishers in the Google Network of content sites to automatically serve text, image, video, and rich media adverts that are targeted to site content and audience. These adverts are administered, sorted, and maintained by Google, and they...
and
AdWordsGoogle AdWords is Google's main advertising product and main source of revenue. Google's total advertising revenues were USD$28 billion in 2010. AdWords offers pay-per-click advertising, cost-per-thousand advertising, and site-targeted advertising for text, banner, and rich-media ads. The AdWords...
APIs, based on the
SOAPSOAP, originally defined as Simple Object Access Protocol, is a protocol specification for exchanging structured information in the implementation of Web Services in computer networks...
data exchange standard, allow developers to integrate their own applications with these Google services. The AdSense API allows owners of websites and
blogA blog is a type of website or part of a website supposed to be updated with new content from time to time. Blogs are usually maintained by an individual with regular entries of commentary, descriptions of events, or other material such as graphics or video. Entries are commonly displayed in...
s to manage AdSense sign-up, content and reporting, while the AdWords API gives AdWords customers programmatic access to their AdWords accounts and campaigns.
App Engine
Google App EngineGoogle App Engine is a platform as a service cloud computing platform for developing and hosting web applications in Google-managed data centers. It virtualizes applications across multiple servers,...
lets developers run web applications on Google's infrastructure. Google App Engine supports apps written in several programming languages. With App Engine's Java runtime environment, you can build your app using standard Java technologies, including the JVM, Java servlets, and the Java programming language—or any other language using a JVM-based interpreter or compiler, such as JavaScript or Ruby. App Engine also features a dedicated Python runtime environment, which includes a fast Python interpreter and the Python standard library.
Google Plugin for Eclipse
Google Plugin for EclipseGoogle Plugin for Eclipse is a set of software development tools that enables Java developers to design, build, optimize, and deploy cloud computing applications. GPE assists developers in creating complex user interfaces, generating Ajax code using the Google Web Toolkit, optimizing performance...
(GPE) is a set of software development tools that enables
JavaJava is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...
developers to design, build, optimize, and deploy
cloud computingCloud computing is the delivery of computing as a service rather than a product, whereby shared resources, software, and information are provided to computers and other devices as a utility over a network ....
applications. GPE assists developers in creating complex user interfaces, generating
AjaxAjax is a group of interrelated web development methods used on the client-side to create asynchronous web applications...
code using the
Google Web ToolkitGoogle Web Toolkit is an open source set of tools that allows web developers to create and maintain complex JavaScript front-end applications in Java. Other than a few native libraries, everything is Java source that can be built on any supported platform with the included GWT Ant build files...
, optimizing performance with Speed Tracer, and deploying applications to
Google App EngineGoogle App Engine is a platform as a service cloud computing platform for developing and hosting web applications in Google-managed data centers. It virtualizes applications across multiple servers,...
. GPE installs into the
EclipseEclipse is a multi-language software development environment comprising an integrated development environment and an extensible plug-in system...
integrated development environment (IDE) using the extensible plugin system.
GPE is available under the Google terms of service license.
Google Web Toolkit
The
Google Web ToolkitGoogle Web Toolkit is an open source set of tools that allows web developers to create and maintain complex JavaScript front-end applications in Java. Other than a few native libraries, everything is Java source that can be built on any supported platform with the included GWT Ant build files...
(GWT) is an open source toolkit allowing developers to create
AjaxAjax is a group of interrelated web development methods used on the client-side to create asynchronous web applications...
applications in the Java programming language. GWT supports rapid client–server
developmentSoftware Engineering is the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software, and the study of these approaches; that is, the application of engineering to software...
and
debuggingDebugging is a methodical process of finding and reducing the number of bugs, or defects, in a computer program or a piece of electronic hardware, thus making it behave as expected. Debugging tends to be harder when various subsystems are tightly coupled, as changes in one may cause bugs to emerge...
in any Java
IDEAn integrated development environment is a software application that provides comprehensive facilities to computer programmers for software development...
. In a subsequent deployment step, the GWT compiler translates a working Java application into equivalent
JavaScriptJavaScript is a prototype-based scripting language that is dynamic, weakly typed and has first-class functions. It is a multi-paradigm language, supporting object-oriented, imperative, and functional programming styles....
that programmatically manipulates a
web browser'sA web browser is a software application for retrieving, presenting, and traversing information resources on the World Wide Web. An information resource is identified by a Uniform Resource Identifier and may be a web page, image, video, or other piece of content...
HTMLHyperText Markup Language is the predominant markup language for web pages. HTML elements are the basic building-blocks of webpages....
DOMThe Document Object Model is a cross-platform and language-independent convention for representing and interacting with objects in HTML, XHTML and XML documents. Aspects of the DOM may be addressed and manipulated within the syntax of the programming language in use...
using DHTML techniques. GWT emphasizes reusable, efficient solutions to recurring Ajax challenges, namely
asynchronous remote procedure callsIn computer science, a remote procedure call is an inter-process communication that allows a computer program to cause a subroutine or procedure to execute in another address space without the programmer explicitly coding the details for this remote interaction...
, history management, bookmarking, and cross-browser
portabilityIn computer science, porting is the process of adapting software so that an executable program can be created for a computing environment that is different from the one for which it was originally designed...
. It is released under the Apache License version 2.0.
Project hosting
Google Code runs a project hosting service that provides
revision controlRevision control, also known as version control and source control , is the management of changes to documents, programs, and other information stored as computer files. It is most commonly used in software development, where a team of people may change the same files...
offering Subversion,
MercurialMercurial is a cross-platform, distributed revision control tool for software developers. It is mainly implemented using the Python programming language, but includes a binary diff implementation written in C. It is supported on Windows and Unix-like systems, such as FreeBSD, Mac OS X and Linux...
and
GitGit is a distributed revision control system with an emphasis on speed. Git was initially designed and developed by Linus Torvalds for Linux kernel development. Every Git working directory is a full-fledged repository with complete history and full revision tracking capabilities, not dependent on...
(transparently implemented using
BigTableBigTable is a compressed, high performance, and proprietary database system built on Google File System , Chubby Lock Service, SSTable and a few other Google technologies; it is currently not distributed nor is it used outside of Google, although Google offers access to it as part of their Google...
as storage), an issue tracker, a wiki for documentation, and a file download feature. The service is available and free for all OSI-approved Open Source projects (as of 2010, it is strongly recommended but no longer required to use one of the nine well-known open source licenses:
ApacheThe Apache License is a copyfree free software license authored by the Apache Software Foundation . The Apache License requires preservation of the copyright notice and disclaimer....
,
ArtisticThe Artistic License refers most commonly to the original Artistic License , a software license used for certain free and open source software packages, most notably the standard Perl implementation and most CPAN modules, which are dual-licensed under the Artistic License and the GNU General Public...
,
BSDBSD licenses are a family of permissive free software licenses. The original license was used for the Berkeley Software Distribution , a Unix-like operating system after which it is named....
, GPLv2, GPLv3,
LGPLThe GNU Lesser General Public License or LGPL is a free software license published by the Free Software Foundation . It was designed as a compromise between the strong-copyleft GNU General Public License or GPL and permissive licenses such as the BSD licenses and the MIT License...
,
MITThe MIT License is a free software license originating at the Massachusetts Institute of Technology . It is a permissive license, meaning that it permits reuse within proprietary software provided all copies of the licensed software include a copy of the MIT License terms...
,
MPLThe Mozilla Public License is a free and open source software license. Version 1.0 was developed by Mitchell Baker when she worked as a lawyer at Netscape Communications Corporation and version 1.1 at the Mozilla Foundation...
and
EPLThe Eclipse Public License is an open source software license used by the Eclipse Foundation for its software. It replaces the Common Public License and removes certain terms relating to litigations related to patents....
). The site limits the number of projects one person can have to 25. Additionally, there is a limit as to the number of projects that may be created in one day.
Gears
GearsGears, formerly Google Gears, is software offered by Google that "enables more powerful web applications, by adding new features to your web browser. It allows some online files to be used offline"...
is beta software offered by
GoogleGoogle Inc. is an American multinational public corporation invested in Internet search, cloud computing, and advertising technologies. Google hosts and develops a number of Internet-based services and products, and generates profit primarily from advertising through its AdWords program...
to enable
off-lineThe terms "online" and "offline" have specific meanings in regard to computer technology and telecommunications. In general, "online" indicates a state of connectivity, while "offline" indicates a disconnected state...
access to services that normally only work on-line. It installs a database engine, based on
SQLiteSQLite is an ACID-compliant embedded relational database management system contained in a relatively small C programming library. The source code for SQLite is in the public domain and implements most of the SQL standard...
, on the client system to cache the data locally. Gears-enabled pages use data from this local cache rather than from the online service. Using Gears, a web application may periodically synchronize the data in the local cache with the online service. If a network connection is not available, the synchronization is deferred until a network connection is established. Thus Gears enables web applications to work even though access to the network service is not present.
Access restrictions
Accessing Google Code website and its hosted contents is banned from countries on the United States
Office of Foreign Assets ControlThe Office of Foreign Assets Control is an agency of the United States Department of the Treasury under the auspices of the Under Secretary of the Treasury for Terrorism and Financial Intelligence. OFAC administers and enforces economic and trade sanctions based on U.S...
sanction list, including Cuba, Iran, Libya, North Korea, Sudan and Syria.
Google developer events
Google I/OGoogle I/O is an annual two-day developer-focused conference held by Google in San Francisco, California. Google I/O features highly technical, in-depth sessions focused on building web, mobile, and enterprise applications with Google and open web technologies such as Android, Chrome, Chrome OS,...
is Google's largest developer event, which, since 2009, has been held in the
Moscone CenterMoscone Center is the largest convention and exhibition complex in San Francisco, California. It comprises three main halls: Two underground halls underneath Yerba Buena Gardens, known as Moscone North and Moscone South, and a three-level Moscone West exhibition hall across 4th Street...
in San Francisco.
Google Developer DayGoogle Developer Day is a one-day web developer-focused events around the world held annually by Google. They include seminars and codelabs focused on building of web, mobile, and enterprise applications with Google and open web technologies such as Android, HTML5, Chrome, App Engine, Google Web...
is an annual Google's developer event.
Google Summer of CodeThe Google Summer of Code is an annual program, first held from May to August 2005, in which Google awards stipends to hundreds of students who successfully complete a requested free or open-source software coding project during the summer...
is a mentoring program to find students for open source projects. In 2007, the program received nearly 6,200 applications.
Google Code Jam is an international programming competition.
See also
- CodePlex
- Sourceforge.net
SourceForge Enterprise Edition is a collaborative revision control and software development management system. It provides a front-end to a range of software development lifecycle services and integrates with a number of free software / open source software applications .While originally itself...
- GitHub
GitHub is a web-based hosting service for software development projects that use the Git revision control system. GitHub offers both commercial plans and free accounts for open source projects...
- List of free software project directories
- Comparison of open source software hosting facilities
External links