Pregunta

Estoy usando la base de datos basada en web para el que tengo que añadir capacidades de hoja de cálculo a su extremo delantero. Estaba pensando que podría utilizar hojas de cálculo de Google Docs. Su Google App escritura parece tener la funcionalidad que necesito. En particular, puedo utilizar el servicio URLFetch combinado con eventos onEdit para mantener la hoja de cálculo y base de datos en sincronía - estilo AJAX. También me permite una gran flexibilidad en la construcción, guardar y compartir las hojas de cálculo

Sin embargo, algunas cosas sobre Google App escritura me dio que pensar. Se ejecuta en el servidor, así que es difícil de depurar localmente. No tiene ningún tipo de depurador con puntos de interrupción o paso a paso. No puede importar módulos externos o bibliotecas. Sin JSLint. Sin ellos empecé a recibir que "Uh, oh, esto va a doler" sentimiento.

Así que me pregunto si hay una mejor manera de perno en la funcionalidad de hoja de cálculo accesibles navegador a una base de datos basada en web existente? O hay mejores prácticas para sacar el máximo provecho de Google App guión?

EDIT: Estas son las posibles soluciones con el fin de lo que sería mejor para mi aplicación:

  1. Navegador basado en el motor de cálculo JavaScript. (No existe mayo.)
  2. Python módulo del motor de cálculo que puedo instalar en Google App Engine. (No he visto esto tampoco.)
  3. Un enfoque más robusto y Ajaxian de cálculo de Google. (Véase la pregunta original).
  4. Open Source motores de hoja de cálculo que puede instalar en EC2. (Estos parecen existir - posiblemente SocialCalc , o simple hoja de cálculo Recomendaciones)
¿Fue útil?

Solución

utilice la funcionalidad de hoja de cálculo en una página web, pero en lugar de secuencias de comandos de todas las características de una hoja de cálculo, se utiliza un motor de cálculo que nos da el corazón programática de la funcionalidad de hoja de cálculo. Un motor de cálculo sabe cómo calcular cientos de tipos de fórmulas, las dependencias de la manija (y el orden entre dependencias), el formato de celdas, etc. En mi caso particular, utilizamos SpreadsheetGear - http://www.spreadsheetgear.com/products/ spreadsheetgear.net.aspx

crear una representación HTML de una hoja de cálculo con la navegación celular y varias otras características que utilizan algunos javascript. Cuando necesitamos la hoja para volver a calcular (por ejemplo F9 en Excel) enviamos toda la hoja de cálculo para el servidor, le pedirá que calcular todo y luego recarga la representación de página web con los resultados. Esto también se puede escribir en la base de datos en función de lo que está en la hoja de cálculo.

Tal vez necesito su entrada en este punto, para ver si mi respuesta no está demasiado lejos de la pista.

Otros consejos

Web base de datos con una capacidad de cálculo de front-end basa? Sonidos como Ragic .

Y usted dijo que necesita para desarrollar su propio programa de fondo, creo que se puede utilizar su API HTTP para enviar los datos a Ragic y tienen uso de usuario del front-end de hoja de cálculo mientras se utiliza la API para sincronizar sus datos.

Así que hice cavar en esto por mí mismo, y lo hizo doler un poco. Aquí están los detalles:

Lo malo:

  1. Usted tiene que usar su editor, sin JSLint.
  2. No depurador. Las secuencias de comandos se ejecutan en el servidor, por lo que Firebug y otras herramientas del navegador son cero ayuda. El "Ver-> transcripción de ejecución" y "Ver-> Registros" son un poco de ayuda. Pero ellos no parecen funcionar en eventos "onEdit".
  3. La conexión a la red pasa a través de su Servicio de UrlFetch que es no tiene un modo asíncrono. Y no funciona en absoluto dentro de eventos "onEdit": http://code.google.com/p/google-apps-script-issues/issues/detail?id=185
  4. Ellos tienen básicamente tres tipos de eventos. "OnLoad", "onInstall", y "onEdit". En particular me mal perdido un evento "onclick".
  5. No hay soporte de biblioteca externa.

Lo bueno:

  1. Es real JavaScript, por lo que funciona como era previsible, y puedo usar una herramienta JSLint externo.
  2. curva de aprendizaje superficial. hojas de comprensión, rangos, y set / get valores son los conceptos clave.
  3. Las porciones de funcionalidad para la manipulación de elementos de hoja de cálculo, el formato, etc.
  4. Soporte de API
  5. Datos de Google? No he utilizado esto, pero parece que el camino a seguir para connnecting a los recursos web externos.
  6. bien integrada, actualizaciones de secuencias de comandos en una hoja de cálculo son inmediatamente visibles para los demás visualización de la hoja de cálculo.

En general este entorno tiene un montón de potencial, con una gran cantidad de capacidades de interfaz de usuario, pero todavía parece que se pierda en algunas funciones clave para hacer el desarrollo real de producción.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top