Crea apps con AngularJS

Esta guía te ayudará a comenzar a compilar Apps de Chrome con el framework de MVC AngularJS. Para ilustraremos Angular en acción, haremos referencia a una app real compilada con el framework, Google Drive Uploader El código fuente está disponible en GitHub.

Acerca de la aplicación

Cargador de Google Drive

Google Drive Uploader permite a los usuarios ver rápidamente los archivos almacenados en su Google Drive y subir archivos nuevos con las APIs de HTML para arrastrar y soltar. Es un un excelente ejemplo de creación de una app que se comunica con una de las APIs de Google; En este caso, el bucket de Google API de Drive

El cargador usa OAuth2 para acceder a los datos del usuario. La API de chrome.identity controla la recuperación de un token de OAuth para el usuario que accedió. Ya está listo el trabajo. Una vez que tengamos un plan token de acceso, las apps usan la API de Google Drive para acceder a los datos del usuario.

Funciones clave que usa esta app:

Cómo crear el manifiesto

Todas las Apps de Chrome requieren un archivo manifest.json que contenga la información que Chrome necesita para iniciarse la aplicación. El manifiesto contiene metadatos relevantes y enumera los permisos especiales que la app necesita para cuando se ejecute.

Una versión simplificada del manifiesto del Uploader se ve así:

{
  "name": "Google Drive Uploader",
  "version": "0.0.1",
  "manifest_version": 2,
  "oauth2": {
    "client_id": "665859454684.apps.googleusercontent.com",
    "scopes": [
      "https://www.googleapis.com/auth/drive"
    ]
  },
 ...
  "permissions": [
    "https://docs.google.com/feeds/",
    "https://docs.googleusercontent.com/",
    "https://spreadsheets.google.com/feeds/",
    "https://ssl.gstatic.com/",
    "https://www.googleapis.com/"
  ]
}

Las partes más importantes de este manifiesto son el archivo "oauth2" y "permisos" secciones.

El comando “oauth2” define los parámetros que requiere OAuth2 para hacer su magia. Para crear un "client_id", sigue las instrucciones que aparecen en Cómo obtener tu ID de cliente. Los “alcances” enumera los permisos de autorización para los que el token de OAuth será válido (por ejemplo, las API que la aplicación quiera acceso).

Los “permisos” incluye las URL a las que la aplicación accederá a través de XHR2. Los prefijos de URL son necesarios para que Chrome sepa qué solicitudes entre dominios permitir.

Creando la página del evento

Todas las Apps de Chrome requieren una página o secuencia de comandos en segundo plano para iniciar la app y responder a los eventos del sistema.

En la secuencia de comandos background.js, el cargador de Drive abre una ventana de 500 × 600 px en la página principal. También especifica un alto y un ancho mínimos para la ventana, de modo que el contenido no se acorte demasiado:

chrome.app.runtime.onLaunched.addListener(function(launchData) {
  chrome.app.window.create('../main.html', {
    id: "GDriveExample",
    bounds: {
      width: 500,
      height: 600
    },
    minWidth: 500,
    minHeight: 600,
    frame: 'none'
  });
});

La ventana se crea como una ventana sin bordes (marco: "ninguna"). De forma predeterminada, las ventanas se renderizan con el Barra de cerrar, expandir/minimizar predeterminada del SO:

Google Drive Uploader sin marco

El cargador usa frame: 'none' para renderizar la ventana como un "en blanco" y crea un cierre personalizado botón en main.html:

Google Drive Uploader con marco personalizado

Toda el área de navegación está rodeada