En realidad estoy trabajando en la misma situación ahora (aunque con Python/Flask, pero los mismos conceptos deberían aplicarse a cualquier lenguaje del lado del servidor). Así es como va el flujo de trabajo para una página en mi aplicación. Solo una nota que NO sigo el formato de la aplicación de una sola página; en mi aplicación, cada página principal es una recarga completa.
- usuario solicita una página, por ejemplo una lista de empresas,/empresas/lista/
- servidor hace el enrutamiento, cargar el controlador correcto
- controlador carga primeras empresas X de DB
- Las empresas están codificados como JSON
se carga
- Otro de metadatos (como el número total de empresas) y se convirtió en JSON
- la plantilla de página de la lista se carga y el JSON apareció en una etiqueta > < la escritura dentro de la plantilla. Tenga en cuenta aquí I no complete la tabla de la lista o cualquier cosa en esas líneas, dejo que Backbone haga todo eso. Rellene el JSON aquí para que el cliente no tenga que hacer una segunda solicitud para el conjunto inicial de empresas
- La página de la lista se envía al cliente. El servidor está hecho por ahora
- El cliente tiene todos los datos que necesita para iniciarse, entonces tomo el JSON y lo paso a mi Backbone. Vea la página de listado
- La vista crea una colección para los modelos y administra un conjunto de sub-vistas que representan las entradas en la lista
- Cualquier otra creación de procesamiento/vista ocurre como la creación de páginas, botones prev/next, etc.
- Si el usuario hace clic en la página siguiente de las compañías , Disparo una consulta AJAX al servidor (/ companies/listing/page/1 o algo similar) que devuelve una nueva cadena JSON con un nuevo conjunto de modelos
- Envía el nuevo conjunto de modelos a mi Backb uno.Ver que actualiza todo
De hecho, el servidor no se utiliza para nada más que la carga real de datos y el envío inicial de la plantilla. Me gusta porque me permitirá conectar fácilmente nuevas interfaces (por ejemplo, una aplicación para iPad o algo así).
Para una forma, en muy grandes rasgos, hago algo como esto:
- El usuario solicita la forma,/empresas/editar/1
- servidor hace permisos de cheques, las cargas de entrada, envía la plantilla/JSON al cliente.Servidor no rellenar el formulario con los datos
- cliente utiliza JSON para llenar el formulario
- cliente modifica la forma, golpea presentar
- Todos los cambios se aplican al modelo, el modelo se convirtió en JSON y se envía al servidor usando AJAX
- Server realiza la validación y, o bien envía mensajes de error (en JSON) al cliente o actualiza la base de datos y envía un mensaje de éxito
Así, de nuevo, esas son realmente grandes rasgos en como lo hice En general, utilizo el servidor para tomar datos de la base de datos, hago validaciones del lado del servidor (no puedo confiar en el cliente je) y actualizo la base de datos.
Si tiene algunas preguntas específicas, me complace intentar compartir lo que he aprendido hasta ahora.
Comentario, porque realmente no tengo una respuesta completa. Creo que la red troncal funciona mejor con una API (repos), por lo que la perspectiva que debes tomar con CakePHP es manejar todas las acciones con solicitudes y respuestas JSON. – Evert
Entonces, ¿desarrolla el lado api/platform de la aplicación más a fondo que el punto de acceso? – dclowd9901
Creo que podrías estructurar la columna vertebral para actuar más como un formulario cakephp normal, con el envío de formularios estándar, pero el uso de una API puede ser más apropiado y funcionar mejor con Backbone. Supongo que realmente también depende del objetivo que estás tratando de lograr con la red troncal. Puedes usarlo para muchas cosas, pero también para validar la forma, supongo. – Evert