No estoy seguro de qué quiere decir exactamente con "crear" vistas.
Primero, si tiene tablas / datos personalizados, puede usar hook_views_data () y complementos y controladores personalizados para indicar a las vistas cómo acceder a estas tablas. Algunos tutoriales / ejemplos: http://treehouseagency.com/blog/neil-hastings/2010/01/19/views-handler-easy-way (Drupal 6) y http://larsolesen.dk/node/273 (Drupal 7) Pero, de nuevo, solo necesita esto si desea exponer sus propias tablas a las vistas.
Luego, hay una serie de ganchos de renderización previa y modificación, que le permiten modificar algunas cosas que no puede hacer en la interfaz de usuario. Lista de ganchos de vistas en Drupal 6 .
Dicho esto, no hay una "API" para crear vistas reales (que yo sepa). Creo que todos usan la interfaz de usuario de vistas para eso (después de todo, es una gran interfaz de usuario ahora en Drupal 7). Lo que puede hacer es exportar las vistas que creó en la interfaz de usuario para distribuirlas con su módulo o como un nuevo módulo. Esto también es útil para que los módulos contribuidos / estándar no solo expongan sus tablas a vistas, sino que también proporcionen vistas de ejemplo, que se pueden personalizar / ampliar para un sitio específico.
En lugar de exportarlos manualmente, también puede usar el módulo Características , que le permite exportar todo tipo de configuración (vistas, tipos de contenido, campos, permisos, ...) a las llamadas características (que es básicamente un módulo generado automáticamente) . Esto es especialmente útil cuando se mueven configuraciones como vistas desde un desarrollo a una instalación de producción, o se reutilizan las mismas vistas / configuraciones en múltiples sitios.