Ver Mensaje Individual
  #28 (permalink)  
Antiguo 27/11/2013, 07:03
Avatar de dashtrash
dashtrash
Colaborador
 
Fecha de Ingreso: abril-2007
Ubicación: Ni en Sevilla,ni en Sanlúcar..qué más da..
Mensajes: 927
Antigüedad: 17 años, 8 meses
Puntos: 270
Respuesta: ¿Cómo construir un front-end correctamente?

Cita:
Iniciado por guardarmicorreo Ver Mensaje
Como petición personal estaría bien poder disponer de un sistema de plantillas como el tuyo con una explicación en español :D
La documentación está en Manual.html.
El resto de las cosas es porque Manual.html.. fue renderizado como una plantilla, usando el propio sistema.

A ver si tengo tiempo esta noche para hacer una traducción al castellano, y lo resubo.

Entiendo que al principio parezca todo un poco raro.Es un sistema de plantillas que hace justo lo contrario que el resto.Lo que quiero evitar no es php, sino HTML.
Mi forma de pensar en plantillas, no es "meter un lenguaje nuevo que no tiene mysql_query, asi que no puedes meter una query enmedio de un <table>".
La idea es:
Si yo te digo que estoy viendo una página con un formulario de login, tú puedes fácilmente saber que estaré viendo 1 campo de texto, 1 campo password, y 1 botón .Lo que no sabes es *nada* de cómo, visualmente, están dispuestos, qué colores tienen, qué tamaño, etc, etc.
Si yo te digo que en una página hay un menú, y en la opción "Secciones", pinches en "Principal", tú sabes que va a haber algún sitio donde hay una serie de etiquetas (una de ellas es "Seccion"), que contiene otras etiquetas ("Principal"), que son links.
Tú no sabes si el menú es horizontal, vertical, de un color o de otro.

Con lo cual, en un interfaz de usuario existen abstracciones
("menu", "listado", "cabecera", "caja") que son manejables independientemente de su formato.Incluso del dispositivo de salida.Un menú en un navegador se va a pintar distinto que un menú en un móvil.Pero sigue siendo conceptualmente la misma cosa.Lo que cambia es el cómo se pinta.
Y es por eso que mi sistema de plantillas intenta manejar "conceptos" ("Pagina","Form","Listado"), que se renderizan según otras plantillas, que usan otras...hasta que sólo al final, en las plantillas base, se convierten a html.

El asunto es que las plantillas de más alto nivel, son tan simples, que una persona no técnica las maneja desde un editor de texto:

Código HTML:
Ver original
  1. [*PAGE]
  2.          [_CONTENT]
  3.                   [*CARROUSEL]
  4.                             [_ITEM]
  5.                                  [_IMAGE]myimage.jpg[#]
  6.                                  [_LINK]/home[#]
  7.                             [#]
  8.                             [_ITEM]
  9.                                  [_IMAGE]myimage2.jpg[#]
  10.                                  [_LINK]/offers[#]
  11.                             [#]
  12.                   [#]
  13.                   [*VIDEO]http://www.youtube.com....[#]
  14.          [#]
  15. [#]
Mirando rápidamente , ves que es una página que tiene un carrousel de imágenes, y un vídeo.Cómo se pinta el carrousel, con qué librerías js, cómo se renderiza el video, etc,etc, se resuelve con componentes más pequeños y reutilizables.Pero lo importante es que expresa "qué" quiero, y no "cómo" pintarlo.
Esa plantilla no cambia si lo voy a renderizar para web o para móvil, por poner un ejemplo.
Un rediseño entero de la web, no modifica estas plantillas, tampoco.

Lo que quiero decir es que, a mí, me parece interesante dividir un interfaz de usuario en capas "lógicas" y capas "físicas" (html).

Otros sistemas de plantillas, lo que me dan son sintaxis que no necesito para evitar que meta queries enmedio de html...Eso ya lo aprendí hace tiempo..