¿Cómo aborda la creación de una gran aplicación web? Frontend, DB, modelos, maquetas? ¿Cuáles son las mejores prácticas?

Comenzamos con Lean Canvas http://leancanvas.com, aunque lo pirateamos un poco para agregar 2 cuadros más: propósito y visión.

Propósito : ¿Por qué haces lo que estás haciendo (aparte de las ganancias)? A menos que sepamos lo que lo está impulsando a usted y a su equipo, no podemos ayudar a defender su causa. Por lo general, hay una motivación distinta al dinero.

Visión : ¿Qué cambio quieres ver en el mundo? ¿Cómo se ve (y se siente) el éxito? A menos que sepa cuál es el objetivo, no puede anotar …

Modelo de negocio
Debe obtener el modelo de negocio justo antes de comenzar a escribir cualquier código o perfeccionar los píxeles. Pruebe muchas ideas, posibles soluciones y segmentos de clientes para saber que hay una necesidad de lo que está construyendo.

Cree diferentes lienzos para diferentes segmentos para ver dónde se encuentra el verdadero dolor.

Clientes
Cree historias de usuarios y personajes para representar a su audiencia y los problemas del mundo real que está tratando de resolver. por ejemplo, ¿qué me ayudaría XXXX a hacer? ¿Qué me ayudará XXXX a hacer que otra aplicación no pueda? Solo incluya características que se relacionen con un punto de dolor particular. Aquí hay una introducción de una página para el desarrollo del cliente http://spookstud.io/MkgwXV

Más recientemente, hemos adoptado una técnica llamada Mapeo de comportamiento (más información aquí) que ayuda a ver las brechas entre la vida de su usuario hoy y dentro de 1 año). Es rápido y sorprendente, brinda información valiosa y ayuda a alejarse de la tecnología y las características para el uso y los resultados del mundo real.

Prototipo
Cree algunos prototipos tempranos de baja fidelidad (papel, wireframes, etc.) y pruébelos con sus primeros usuarios. Itere la solución en función de los comentarios de los clientes en lugar de demasiados supuestos. Busque señales fuertes y duplique estas. Siempre busque oportunidades y esté abierto a nuevas ideas a medida que el proyecto evoluciona. NO escriba una especificación técnica de 50 páginas o un esquema detallado hasta que haya validado su modelo de negocio (y aun así no lo recomendaría). Desarrolle prototipos en lugar de documentar cómo funcionarían las cosas.

Primer lanzamiento
Lanza un producto / MVP central con un conjunto mínimo de características. Solo recuerde, solo se lanza una aplicación web que no está terminada, así que espere las características ‘agradables’ hasta que haya probado el núcleo. Cemente los cimientos correctamente y hará que sea más fácil colocar el techo y las ventanas …

Obtenga el equilibrio correcto entre el perfeccionismo y la liberación temprana. es decir. no sueltes algo malo, pero tampoco pases 6 meses haciéndolo perfecto solo para descubrir que es un producto que nadie quiere. No es fácil, pero si lo haces bien, estarás por delante del juego.

Agregar algunas restricciones
En un mundo ideal, limitaría el tiempo y el presupuesto para que luego reduzca el alcance para adaptarse a esto. Trabajamos en un cambio de 12 semanas para un MVP que enfoca los esfuerzos y ayuda a priorizar las cosas importantes (cualquier otra cosa puede esperar hasta la próxima iteración).

¡Buena suerte!

Este es mi enfoque para crear una aplicación web grande y compleja.

1. Comience con los usuarios
Encuentre personas que usarán su producto y llévelos a tomar un café. Pregúnteles sobre productos similares que usan en este momento y qué harían para mejorarlo. Lanza ideas a ellos y obtén sus reacciones. Pregúnteles cuánto pagarían por el producto. No solo está obteniendo datos invaluables por el costo de un café, sino que también está creando una base de usuarios inicial que considera que ya tiene la aceptación de su producto.

2. Trabajar en papel
Me resulta más fácil pensar en papel, con muchos garabatos y líneas y GRANDES LETRAS y flechas. Así que compro un cuaderno de bocetos de artista con anillas grandes y lo llevo conmigo a donde quiera que vaya mientras estoy en la fase de planificación inicial. Lo uso cuando hablo con la gente sobre el producto, dibujando diferentes escenarios o incluso tramando pantallas para discutir. Lo uso cuando tengo una buena idea justo cuando me voy a dormir. Lo uso en el baño.

Utilizo mi bloc de dibujo para todo, desde ideas de logotipos y nombres hasta estructuras de datos y opciones de infraestructura. Lo uso para pensar en decisiones de diseño potencialmente difíciles. ¿Cómo sería la estructura de datos si hago x? ¿Y qué tal y? Después de un tiempo, tiene esta imagen muy clara y grabada de la evolución de la estructura de su aplicación que es fácil de consultar.

3. Supuestos de prueba
A menudo me encuentro con opciones que parecen tan perfectamente equilibradas en el papel. ¿Debo usar MySql o MongoDB? ¿Debería estar el botón “Guardar” en la parte inferior de la página o en la parte superior? Lo mejor que puedes hacer es crear una prueba, con tantas cosas reales como puedas tener en tus manos. Si está probando bases de datos, asegúrese de tener datos reales que coincidan con los que tendrá en el mundo real. Una vez más, vuelva a sus usuarios si es posible y haga que proporcionen datos reales, o haga clic en una interfaz de usuario simulada mientras mira. Pon a prueba tus suposiciones con pruebas tan cercanas a la vida real como puedas hacerlas.

4. Descubre quién ha hecho esto antes y roba sus cosas
Ya no hay una buena razón para construir nada desde cero. Elige un marco para despegarte rápidamente. Busque en las bibliotecas de Github y hurto que le ahorrarán meses de trabajo duro.

Regístrese para probar todos los productos de sus competidores y tome ideas de sus mejores características. Incluso puede engañar a sus competidores para que le den demostraciones en vivo de sus productos, muestre algunas de las cosas que podría haberse perdido y discuta la tecnología subyacente y las razones de sus decisiones.

Use foros y código de ejemplo generosamente. Raid de software de código abierto para funciones útiles, metodologías inteligentes o simplemente inspiración antigua.

Básicamente, tome tantos atajos como sea posible y realice la menor codificación real posible. Puede llegar muy lejos con combinaciones inteligentes de tecnología de código abierto. Su problema casi definitivamente no es único: alguien ya ha pasado horas, semanas o meses en él, y luego lo colocó en Internet solo para que lo robe.

5. ¡A trabajar!
No pase el resto de su vida planeando, construyendo maquetas, teniendo reuniones y llevando a los clientes a tomar un café. Solo sal y construye la maldita cosa. Realmente no importa dónde comiences, siempre que puedas ver que algo funciona tan pronto como sea posible, incluso si es solo una pantalla de inicio de sesión o una barra de menú. Si intentas mirar demasiado lejos, nunca llegarás allí. Construye pequeñas piezas a la vez.

6. Iterar!
Regrese a los puntos 1 a 5 regularmente. Lleve lo que ha hecho a sus usuarios y vea si les gusta o no, o si tienen alguna sugerencia. Tendrán mucho. La respuesta correcta es: “Sí, podemos hacer eso”.

Consulte sus planes originales y cámbielos a medida que aprende de su codificación real. (En este punto me muevo de mi bloc de dibujo a una pizarra, o Trello).

Sigue probando tus suposiciones, en la codificación y en la vida. Sigue robando cosas, y no olvides devolver y dar a todos los demás algo para robar. Y sigue sacando código, una pequeña pieza de rompecabezas después de la siguiente.

6.1 Sé flexible
Esto está un poco más allá de la pregunta original, pero es una parte importante del proceso. Recorrerás algunos callejones sin salida y te atascarás en algún u otro problema que parece ser el fin del mundo en ese momento, pero que realmente no lo es. Debes mantenerte flexible, tener la capacidad de tirar semanas de código cuando te des cuenta de que es una mierda, y evitar problemas sin que causen que todo el proyecto se detenga. Sigue moviéndote, y si no puedes seguir moviéndote, ve a la playa por la tarde y vuelve a intentarlo mañana.

Crear una aplicación web puede ser de muchas maneras. Se trata de qué tipo de aplicación está creando, y si tiene los recursos / medios para desarrollar la funcionalidad (en su totalidad) usted mismo, o si necesita aprovechar los servicios de terceros. Esto se conoce como Build vs. Buy.

En términos generales, es más rápido y más barato a largo plazo comprar contra construir: esto se debe principalmente a la economía de escala (un ahorro proporcional en los costos obtenidos por un mayor nivel de producción).

Si yo fuera usted, primero me sentaría y pensaría exactamente qué es lo que desea construir, qué servicios / funcionalidades necesitará, y luego comenzaría el proceso de planificación. Para ayudar, he compilado una lista de servicios maravillosos dirigidos a desarrolladores que parecen estar en el mismo barco que usted. Puede consultar la lista en el siguiente enlace:

Servicios SaaS impresionantes: GetStream / awesome-saas-services

No puedo decirte cuáles son las mejores prácticas, pero puedo decirte cuáles son nuestras prácticas en Prontotype ( http://prontotype.us ). Pensamos en el proceso en tres componentes principales: diseño, definición y desarrollo.

Diseño
Comenzamos explorando el producto en términos de interacciones entre el usuario y la interfaz. Esto incluye averiguar qué tipo de información necesita representar el sitio (modelos de software), qué páginas / vistas tendrá (maquetas lofi) y cómo un usuario interactuará con estas vistas (flujos) [1]. Hemos descubierto que al saltar de un lado a otro entre el modelado, la burla y el flujo, cada proceso refina el otro hasta que finalmente se cristaliza una idea sólida del producto.

Definir
Luego, nos ponemos un poco más técnicos. Es posible que haya notado que el modelado anterior fue etiquetado como “suave”; Esto se debe a que en esa etapa, las representaciones de los datos pueden tener la forma de cualquier cosa, desde mapas mentales hasta párrafos. Ahora damos un paso más cerca de la base de datos, donde organizamos la información en términos de lo que podrían convertirse en tablas y atributos (modelos duros). Al mismo tiempo, se definen detalles específicos de cómo interactuará el cliente del usuario con el producto (diseño de API). Como estamos hablando de aplicaciones web, esto generalmente significa la estructura de URL. Luego creamos representaciones de imágenes de elementos de la interfaz central para tener una idea de la marca del producto, sin entrar en los detalles completos de cada vista, pero aún cubriendo las necesidades del sitio (maquetas de alta fidelidad).

Desarrollar
Finalmente, convertimos todo ese trabajo de diseño y especificaciones en un producto real de trabajo. Esto se presenta con bastante facilidad una vez que los datos han sido modelados, la API ha sido diseñada y las vistas han sido simuladas. Se trata de elegir las tecnologías correctas y ensamblarlas de la manera correcta, que es todo un tipo de necesidades, preferencias y hábitos.

Tenga en cuenta que estos pasos no están destinados a estar fuertemente ordenados; a menudo es necesario volver a la etapa de diseño varias veces antes de que se inicie el desarrollo. Pero comprender el proceso general hará que sea más fácil abordar la creación de una aplicación web.

[1] http: //uxdesign.smashingmagazine

Aplicable a cualquier producto tecnológico utilizado por personas, incluidos los productos web:

“Debes comenzar desde la experiencia del cliente y trabajar hacia atrás a la tecnología. No puedes comenzar desde la tecnología …” -Steve Jobs

(Aprox a las 1:50)

Lean es bueno si está jugando un poco con la idea y está tratando de comprender el mercado y validar su modelo de negocio antes de comenzar una etapa de construcción importante.

Una vez que esté listo para comenzar, debe comenzar con un buen proceso iterativo (metodologías ágiles) como SCRUM o Kanban. En mi opinión como ingeniero, es cuando comienza la diversión. Debe comenzar a imaginar objetivos claros y construir prototipos funcionales pequeños (por falta de un mejor trabajo) de su producto y comenzar a usarlo internamente hasta que vea que está listo para lanzarse (MVP: producto mínimo viable).
Y eso es solo el comienzo, una vez que el producto esté disponible, verás cómo las personas lo usan y surgirán nuevas iteraciones. Es un proceso continuo y necesitará un equipo que se encargue de todo.

En cuanto a la parte más técnica de su pregunta (Front end, db, modelos, maquetas). Como de costumbre, no hay una mezcla perfecta y dependerá mucho del tipo de proyecto al que esté apuntando.

He estado creando aplicaciones web durante 5 años y las recetas siguen cambiando de vez en cuando (eche un vistazo a la complejidad de las aplicaciones que creamos aquí: Tryolabs). Lo que podría recomendar es ir a plataformas de código abierto, bien probadas y que sabes que se han utilizado en productos similares. Django, RoR, AngularJS son algunos ejemplos.

Tenga en cuenta que Front-end, DB, modelos, maquetas, apenas cubren una pequeña parte de lo que necesita evaluar para comenzar un proyecto exitoso. Infraestructura, back-end, gestión de tareas, rendimiento, métricas de usuario, aprendizaje automático y UX son solo algunas de las otras cosas que debe tener en cuenta.

Es por eso que lo más importante es reunir el equipo adecuado y rodearse de personas inteligentes que conozcan su oficio. Las habilidades complementarias siempre son necesarias en estos escenarios complejos.

¡Espero que mi respuesta no sea desalentadora! ¡Todo lo contrario! ¡Creo que es un proceso súper divertido y desafiante en el que puedes aprender mucho, ver una idea cobrar vida y divertirte mucho!

Este es el proceso que utilizo para mis clientes de consultoría y mis proyectos personales. Se basa en el libro de jugadas de mejores prácticas de Thoughtbot: libro de jugadas.

Investigación
El cliente y yo comenzamos definiendo cuáles son los objetivos del proyecto y quién será el usuario final.

  1. ¿Cuál es el objetivo del proyecto?
  2. ¿Quiénes son los usuarios de la aplicación?
  3. ¿Es el usuario el mismo que el cliente? Si no, ¿quién es el cliente?
  4. ¿Qué lenguaje específico de dominio usan los usuarios o clientes en su industria? Utilizaremos este idioma a través de los enlaces de navegación y la copia de la aplicación.
  5. ¿Quiénes son los competidores en el espacio o qué otras aplicaciones ya existen en esta área?
  6. ¿Qué resultado quiere el usuario de la aplicación?
  7. ¿Qué resultado quiere el cliente de la aplicación si es diferente del usuario?
  8. ¿De dónde vendrán los usuarios: Google Adwords, Twitter, un blog, correos electrónicos por goteo, referencias, uso interno de los empleados?

Maquetas

  1. Storyboard y crear escenarios de flujo de usuarios
  2. Wireframe las páginas
  3. Elige un esquema de color y un estilo de diseño

Desarrollo

  1. Escribir pruebas para desarrollo dirigido por pruebas
  2. Cree la funcionalidad para la aplicación, como inicios de sesión de usuarios, procesamiento de pagos y otras características necesarias para la aplicación. Arranco usando el desarrollo de arriba hacia abajo con el aspecto de programación. Agrego el formato al final de ese proceso.
  3. Agregue colores y diseños de diseño de la fase “Maquetas”.

Pruebas

  1. Prueba con 3-5 usuarios para usabilidad
  2. Regrese a la fase “Maquetas” o “Desarrollo” para mejorar la aplicación final.

Lanzamiento

  1. Empuje la aplicación a un servidor de producción en Internet.
  2. Entregue el código fuente al cliente.
  3. (Opcional) Mantener la aplicación para nuevas funciones y solicitudes de usuarios

No hay una respuesta de “un proceso para todos” a esto. El enfoque que sigue varía de un proyecto a otro.

Definir el problema y los usuarios
Comience con una sesión de lluvia de ideas en el tablero de dibujo. Haga una lista de todo lo que lo ayudará a definir lo que está tratando de lograr con la aplicación. Comprenda a los usuarios potenciales y describa cómo interactuarán con la aplicación.

Alcance la funcionalidad

Enumere todas las funciones principales que realizará la aplicación. Piense en las características de la aplicación y colóquelas en tres grupos diferentes: versiones imprescindibles, buenas y quizás posteriores.

Maquetas de características clave
Cree maquetas de pantalla básicas para las funciones clave de la aplicación para comprender mejor lo que está creando. Mejore sus maquetas básicas con guiones gráficos y marcos de alambre.

– Intente leer este artículo para saber más sobre esto: Crear una aplicación web grande

Siempre me gusta cuidar la escala desde el principio. Y eso simplemente significa pensar lo suficiente como para poner las piezas correctas en manos de los vendedores y programadores correctos.

La estructura de datos importa
Piense en los datos que necesitará para tomar decisiones comerciales, especialmente cuando el sitio despega. Alimente esas variables importantes a un lugar que pueda entender fácilmente. Piense en Salesforce.com

Use personas como MongoHQ para no preocuparse por la administración de DB. Ya saben lo que están haciendo e incluso tienen un nivel gratuito.

Asuntos de espera
No importa lo que hagas, si golpea es lo suficientemente grande, tendrás problemas. Pero si alimenta este exceso a lugares como Amazon SQS … lo mantendrán allí hasta que sus servidores puedan acceder a esas transacciones sin abrumarlos.

Separe sus puentes principales en API.
Esto es bueno tanto para la seguridad como para la capacidad de vender y monetizar su API. Lo más probable es que trabajes con muchos desarrolladores y la mayoría de ellos se irán. Lo peor es saber que todo su código fuente está / estaba sentado en su computadora. Separe los elementos y asegúrese de que solo vean su parte del puente hasta que emerja su equipo principal.

Y no, crear API no es ciencia espacial. Dependiendo de la complejidad del algo. detrás de esto … pero los básicos … son solo tuberías de datos. Y a los desarrolladores les encanta crearlos.

Github todo.
Esto debería ser evidente, pero todos sus puentes deberían ser como repositorios separados con equipo individual / control de acceso. Los puentes no son pequeñas características … generalmente estarían dentro del mismo repositorio … sino más bien de procesamiento front-end vs back-end.

Presta atención a las áreas de crecimiento de datos.
Qué partes de los datos de uso crecerán más rápido y cuánto le costará eso. Utilice el etiquetado de costos con proveedores como Amazon AWS y realice un seguimiento de sus costos de transacción. Estos tipos te morderán el culo y te harán perseguir un VC y la mayor parte de tu capital ganado duro.

¡No tengas miedo de pensar demasiado!
Mira pensar demasiado como una prueba de matemáticas. Cuando lo golpeas bien … el pensamiento excesivo se detendrá. No es un pozo sin fin. El hecho es que la mayoría de las personas tienen miedo de pensar. Encuentran seguridad con la ejecución. Lo cual es una locura. Piense en las cosas antes de tomar el tiempo y el dinero de las personas para desarrollar.

Y, por favor, no confunda pensar demasiado en todo con pensar en puentes individuales. Sus desarrolladores lo amarán por esto, ya que despejará los rincones oscuros de la ejecución que les corresponde resolver.

Dicho esto, asegúrese de tener socios que lo ayudarán a hacer que el pensamiento excesivo sea más razonable. Pero asegúrese de que lo apoyen, ya que la mayoría de sus pivotes vendrán de eso. Y si te desanimas demasiado, no descubrirás las pepitas de oro de pivotar.

Cree tantas vías de monetización como sea posible desde el comienzo.
Si confías en la publicidad … sigue pensando. Cree valor y cobre una cantidad justa. Demonios, carga por debajo de la cantidad justa. Quieres velocidad y volumen.

Todo lo que he dicho anteriormente solo te costará tiempo para pensar.

Lo loco es que la gente lo integre en un servidor pensando que está ahorrando desarrollo, cuando en realidad, ahorrará mucho más tiempo, energía y dinero al planificar las cosas desde el principio. Siempre sueña y planea en grande primero y luego regresa a tu primer puente.

Asegúrese de estar comercializando los beneficios de los datos.
Alimente los datos más relevantes por usuario en un sistema que pueda personalizar los correos electrónicos, reorientando para ayudarlo a convertir a esos visitantes en dinero. Sin esto, estás matando tus esfuerzos de ventas. La mayoría de los cuales deberían ser procesos autosostenibles. Nuevamente, Salesforce.com es increíble en esto. Compre una licencia y aliméntelo todo. Para empezar, no necesita una licencia para cada persona.

Es un camino duro. Pero tendrá control y tranquilidad cuando despegue.

Espero que esta diatriba ayude a alguien 🙂

Usamos un proceso que llamamos Nimble. Es muy sencillo pero notablemente eficiente.

La primera conversación con el cliente tiene las primeras cuatro preguntas (y tenemos listas de verificación y matrices estándar que usamos para desarrollar las respuestas, ya que la mayoría de los clientes no saben todas las respuestas cuando las preguntamos).

1. ¿Cuál es el propósito comercial de esta inversión?

2. ¿Cómo sirve este sitio web para este propósito?

3. quiénes son TODOS los usuarios y partes interesadas de esta inversión (no solo los clientes, sino también todos aquellos que tendrán los dedos en los teclados, como las personas que ingresan datos, y las partes interesadas que participan en el diseño y la implementación, incluso si nunca visitan el sitio). ¿Cuáles son sus mayores necesidades, cuáles son nuestras mayores necesidades para ellos y cómo interactúan los dos? Y, por supuesto, datos demográficos como tipos de conexión, ubicación, género, edad, etc.

4. ¿Cómo se ve el éxito de este proyecto? ¿Y cómo medimos este éxito? (en realidad, creamos dos conjuntos de métricas, uno para nuestro cliente y otro para nosotros mismos, por lo que sabemos que tanto mi empresa como nuestros clientes están siendo bien atendidos por el proyecto).

Una vez que tenemos una buena idea de lo anterior, preguntamos cuál es el elemento más fácil, rápido y con mayor capacidad de respuesta para abordar. ¿Cuáles son los mayores puntos de dolor para los clientes más importantes? Comience por ahí. Construir iterativamente. Construya en fases, capturando métricas todo el tiempo para que sepa qué funciona y qué no.

Hemos creado cientos de aplicaciones web exitosas y altamente complejas para nuestros clientes que utilizan este método, que perfeccionamos a través de la experiencia obtenida con esfuerzo.

No hay una respuesta de “un proceso para todos” a esto. El enfoque que sigue varía de un proyecto a otro. En Nablasol, seguimos el siguiente enfoque:

Definir el problema y los usuarios
Comience con una sesión de lluvia de ideas en el tablero de dibujo. Haga una lista de todo lo que lo ayudará a definir lo que está tratando de lograr con la aplicación. Comprenda a los usuarios potenciales y describa cómo interactuarán con la aplicación.

Alcance la funcionalidad
Enumere todas las funciones principales que realizará la aplicación. Piense en las características de la aplicación y colóquelas en tres grupos diferentes: versiones imprescindibles, buenas y quizás posteriores.

Maquetas de características clave
Cree maquetas de pantalla básicas para las funciones clave de la aplicación para comprender mejor lo que está creando. Mejore sus maquetas básicas con guiones gráficos y marcos de alambre.

Modelo de datos / información
Este es uno de los pasos más importantes para crear una aplicación. Asegúrese de definir un modelo de datos coherente que pueda soportar la carga del usuario sin deteriorar el rendimiento y, al mismo tiempo, sea fácil de modificar para futuras mejoras.

Modelo de desarrollo
Defina una arquitectura adecuada para su aplicación. Divida su aplicación en módulos: defina estándares de codificación, patrones de diseño, esquemas funcionales, casos de prueba, etc.

Desarrollar y probar
Desarrolle su aplicación y pruebe en cada etapa de desarrollo. Dependiendo del tiempo, es posible que desee construir un prototipo antes de construir la versión final. Una vez que se haya desarrollado y probado la versión final, inicie la versión beta para un grupo selecto de usuarios para realizar más pruebas y comentarios.

Esté preparado para realizar cambios en sus planes
Por último, pero no menos importante, nunca haga un plan muy firme. Su plan debe ser exhaustivo pero al mismo tiempo estar listo para modificaciones. Manejar los cambios en cada etapa debe ser parte de su plan, ya que casi todo en el diseño de software es un proceso iterativo.

Aquí hay un artículo recomendado para desarrolladores de aplicaciones de Windows Phone, pero creo que también se ajusta a los creadores de sitios web:

  • Concepto

El núcleo de cada gran aplicación es un concepto sólido que proporciona una base sólida. En esta etapa, debe determinar no solo qué hará su aplicación y para quién es, sino también en qué será excelente su aplicación. Concéntrese en los escenarios de usuario clave que desea habilitar, pero tenga cuidado de no convertir esto en una lista de características. Se trata de lo que sus usuarios podrán hacer, no de lo que su aplicación podrá hacer.

Comience con un concepto amplio y enumere todas las cosas que desea ayudar a los usuarios a hacer con su aplicación. Luego, dé un paso atrás y vea si un escenario particular realmente salta. Ponte a prueba para recortar la lista a un solo escenario de usuario. En este proceso, puede tachar muchas buenas ideas, pero decir “no” a ellas es crucial para crear una experiencia sólida y centrada.

  • Estructura

Una vez que esté satisfecho con su concepto, estará listo para la siguiente etapa: crear el plan de su aplicación. La arquitectura de información (IA) le da a su contenido la integridad estructural que necesita. Ayuda a definir el modelo de navegación de su aplicación y, en última instancia, la identidad de su aplicación. Al planificar cómo se organizará su contenido, y cómo sus usuarios descubrirán ese contenido, puede tener una mejor idea de cómo se sentirá su aplicación para los usuarios.

  • Interacción

Si la etapa de concepto se trata de definir el propósito de su aplicación, la etapa de interacción se trata de ejecutar ese propósito. Esto se logrará de muchas maneras, como el uso de wireframes para esbozar los flujos de su página (cómo se desplaza de un lugar a otro dentro de la aplicación) y pensar en la voz de su aplicación y las palabras que necesita.

Comience a pensar en un nivel de pantalla a pantalla: vea su aplicación como si estuviera jugando con ella por primera vez. Cuando identifique los escenarios de usuario para las páginas que cree, le dará a las personas exactamente lo que quieren sin muchos toques innecesarios en la pantalla. La interacción también se trata de movimiento: las capacidades de movimiento adecuadas determinarán la fluidez y la facilidad de uso de una página a la siguiente.

  • Visual

Las excelentes imágenes definen no solo cómo se ve tu aplicación, sino cómo se siente y cobra vida a través de la animación y el movimiento. Su elección de paleta de colores, icono e ilustración son solo algunos ejemplos de este lenguaje visual.
Todas las aplicaciones tienen su propia identidad única, así que explore las direcciones visuales que puede tomar con su aplicación. Deje que el contenido guíe la apariencia; no dejes que la apariencia dicte tu contenido.

  • Prototipo

Esta es la etapa en la que su aplicación cobra vida y todo su trabajo duro se pone a prueba. Al crear prototipos de áreas de su aplicación, tómese el tiempo para esculpir y refinar los componentes que más lo necesitan.

Para los nuevos desarrolladores, no podemos enfatizar lo suficiente: crear buenas aplicaciones es un proceso revisionista. Recomendamos que realice un prototipo temprano y con frecuencia. Como cualquier esfuerzo creativo, las mejores aplicaciones son producto de una prueba y error intensivos.

Aquí hay muchas respuestas útiles e interesantes, pero me sorprende que nadie haya mencionado la importancia de la colaboración.

En nuestra empresa, siempre tratamos de involucrar a las partes interesadas en el proceso de diseño lo antes posible , y sé que eso también es común en muchas otras grandes empresas.

Hay muchas herramientas para hacerlo, pero usamos UXPin (www.uxpin.com). Este es el por qué:

  1. Nos permite enviar los diseños a cualquier cantidad de personas de forma gratuita, mientras todavía se están trabajando en tiempo real. La aplicación genera un enlace que podemos enviar a todas las personas importantes. Usarán ese enlace para acceder al diseño y comentarlo.
  2. Al hacerlo, no solo involucramos a todos temprano, sino que también tendremos todos los comentarios y especificaciones relacionados con el diseño documentados en un solo lugar.
  3. La colaboración dentro del equipo de diseño en sí es simple e intuitiva.
  4. Podemos usar el modo de presentación incorporado para presentar el diseño a todos los involucrados. Esto ayuda mucho porque (1) no todos trabajamos en la misma oficina y (2) no necesitaremos usar otra herramienta para compartir la pantalla.

El equipo de UXPin pronto lanzará también una función de prueba de usabilidad que nos permitirá incluso hacer la parte de prueba dentro de la misma herramienta. La gran ventaja de esto es que también podremos automatizar la mayor parte del proceso de prueba (ya que la aplicación rastreará automáticamente los clics del mouse, etc.).

Estas son algunas de las características que utilizamos para mejorar nuestros servicios colaborando.

¿Supongo que estás tratando de construir tu propio producto? Si es así, es muy importante cómo ha definido la escala de la aplicación. ¿Por qué lo llamas una gran aplicación web? Si este es su inconveniente, adopte un enfoque más ágil y practique cosas como Validation Board Online de Lean Startup Machine, Lean Startup Canvas, etc. En la mayoría de los casos, si no está haciendo nada social o relacionado con el video, puede hacer un MVP por menos de 10K. Incluso si está en redes sociales o en video, si lo reduce al MVP, una característica única que es la más importante, aún puede hacerlo por debajo de 10K. Lo que importa es qué tan bien ha identificado la necesidad del cliente y luego crea la solución basada en eso.

Un nuevo flujo de trabajo para el desarrollo front-end

En las épocas oscuras del desarrollo web, el desarrollo front-end era algo azotado por diseñadores sobrecargados o pirateado por desarrolladores de software exhaustos. No es ideal. Entonces, ¿cuál es la alternativa? Veamos cómo Raygun maneja su flujo de trabajo. White Label Website Builder | SiteGalore

El desarrollo front-end es uno de los aspectos de mayor evolución del desarrollo web moderno. Parece que hay un nuevo marco o metodología cada dos semanas construida para resolver los problemas en torno a esta área técnica relativamente nueva.

Dirección

Centro de Desarrollo

No 56, Ramamoorthy Avenue Main Road,
Sakthi Nagar
Porur
Chennai 600116,
India.

Teléfono

Clientes Internacionales

+ 1-631-267-4891

India

+ 91-875-444-9338

White Label Website Builder | SiteGalore

Antes de escribir una sola línea de código o diseñar algo, escríbalo todo en papel y piense realmente qué es lo que está construyendo. Las personas tienden a saltear la fase de pensamiento o planificación y construir a medida que avanzan.

Una vez que haya resuelto qué hará su aplicación, debe crear un prototipo simple y funcional con contenido simulado. Deje que la gente lo use y vea qué funciona. Una vez que tenga comentarios sólidos sobre el prototipo y haya revisado las cosas, cree un prototipo a mayor escala con datos reales y, finalmente, el producto real.

Mantenlo simple desde el principio. No piense en el escalado de la base de datos o en cómo manejar a miles de usuarios por minuto porque la realidad es que los problemas de escala no ocurren instantáneamente. Sin embargo, los problemas de escala eventualmente sucederán, aunque es costoso planificarlos desde el principio.

Elija el idioma con el que se sienta cómodo y una base de datos MySQL al principio que se ejecuta sobre Nginx y Varnish para el almacenamiento en caché. Eso te dará un buen comienzo.

Empiezas con la pila. (Asumo que ya probaste tu idea, validaste que hay un mercado y ya construiste un prototipo y sabes cómo se verá el modelo de negocio y ahora tienes que construir el producto real)

La pila no solo depende de su experiencia actual de desarrollo web, sino también de la tecnología de rápido cambio que está disponible. Desafortunadamente al principio hay mucha investigación por hacer, pero tiene dos formas de abordar la solución.

  1. Encuentras la empresa que quieres ser. Asegúrese de que tenga un gran éxito y que admire, tanto en términos de marketing como de tecnología. No tiene que estar en el mismo mercado, pero seguramente tiene que ser el mismo modelo de negocio. Para mí es zendesk. Esas compañías ya han realizado la investigación que está buscando y sus decisiones de pila podrían validar su propia investigación.
  2. Verifica qué tecnología está realmente disponible. Y además lo que estará disponible en el futuro. En cuanto a 2014, vemos a los componentes web y al trabajador de servicios en el horizonte, junto con un hermoso diseño de material de Google que se implementará. Con respecto a la tecnología que tenemos actualmente, debe decidir entre el conjunto de opciones buscando en la web. El mejor recurso es Youtube y busca las notas clave de Google IO y plataformas anuales de desarrolladores similares.

En mi experiencia, la tecnología que va a utilizar se dividirá en dos áreas principales. El frontend. Y el backend.

Para el backend, personalmente iría con lo que sea que mejor conozcas, porque seguramente no hace mucha diferencia cuando todo lo que necesitas es una forma de hacer solicitudes y respuestas JSON. Personalmente, me gusta mucho Laravel, porque es un marco PHP fácil y puedes alojarlo en cualquier lugar sin costo. De todos modos, otras posibles soluciones son Ruby on Rails, Python / Django y el todopoderoso Node.js.

Si volviera a comenzar de nuevo, probablemente iría con Node.js y Laravel, porque los nodos que no bloquean a IO y la gran comunidad de Laravels.

Para el Frontend también hay diferentes opciones disponibles actualmente. La más barata es usar la plantilla, que está disponible en el Backend Framework que usted eligió. No lo recomendaría, ya que las Vistas deben representarse en el cliente, en lugar del servidor. Por lo tanto, es mejor seguir adelante y elegir un Marco Frontend legítimo. Actualmente hay dos “Frameworks” principales que luchan entre sí. AngularJS y Ember.js. Investígalos y decide por ti mismo según los dos principios que describí anteriormente. Otras tecnologías que probablemente debería tener en cuenta es Polymer, que se basa en componentes web. Gran tecnología, pero mala comunidad (en lo que respecta a eso, no encontrará mucha ayuda si tiene problemas, que no se manejan en los documentos, como enrutamiento, plantillas, etc., aunque uno podría argumentar que no tienen nada que ver con el polímero, creo que tienen mucho que ver con las aplicaciones web).

Después de que Polymer y su diseño de material implementado, que es bastante atractivo, también podrías echar un vistazo a Ionic Framework. Se supone que debe usarse con PhoneGap para aplicaciones de Android o Apple, pero puede usar su estilo CSS para hacer que su aplicación web se sienta como una aplicación web.

———————-

Si quieres mi solución personal. Depende realmente de tu experiencia. Si eres un recién llegado, ve con Laravel + Polymer. (o ascua).

Espero que esta sea la respuesta que estabas buscando, porque todas las otras respuestas solo manejaron los supuestos, que di por sentado. No construyas nada, lo que no tiene mucho sentido en la billetera de tu cliente.

En Hashrocket comenzamos con una sesión de 3 días para el carnet de historias. El primer 1/2 del día 1 se dedica a obtener antecedentes y el discurso del ascensor del cliente. La tarde se centra en extraer los valores comerciales específicos que buscan lograr del sistema y priorizarlos. A partir de ahí, abordamos la eliminación de los conjuntos de características que comprenderán cada valor comercial como historias épicas y luego historias de nivel de escenario subsiguientes debajo de las de cada Epic. Mientras esto sucede, uno de nuestros diseñadores está en sincronía con nosotros. Enjuague y repita a lo largo de la vida del proyecto. La versión más larga con detalles sobre los roles y la configuración del proyecto se describe en una publicación de blog que escribí aquí http://blog.hashrocket.com/posts

Así es como recomiendo comenzar al compilar todas las aplicaciones, independientemente de si el producto final es grande o pequeño: cuándo y cómo construir un MVP

Hola amigo … Buena pregunta …

Hola No hay una respuesta de “un proceso para todos” a esto. El enfoque que sigue varía de un proyecto a otro. Definitivamente, podría comenzar con lo básico. desea construir un sitio web utilizando White Label Website Builder

Incrementalmente!

  • Comience con un pequeño
  • Agregue cosas hasta que se convierta en una mediana
  • Cuidadosamente, me refiero a una transición muy cuidadosa a una grande

Algunos puntos para desarrollar un sitio web :

1. Piensa en términos de relaciones de datos

2. Mantenga un registro de las interfaces de usuario y sitios web que lo inspiran

3. Mantenga la primera versión tan simple como sea posible

4. Concéntrese en el comportamiento y menos en la apariencia.

Si alguien quiere construir un nuevo sitio web White Label Website Building. Nuestro emprendimiento de sitios web White Label es utilizado por empresarios, empresas de alojamiento y diseñadores profesionales de sitios web para ofrecer a sus clientes un servicio de creación de sitios web de marca privada en línea altamente exitoso

Dirección

Centro de Desarrollo

No 56, Ramamoorthy Avenue Main Road,
Sakthi Nagar
Porur
Chennai 600116,
India.

Contáctanos: + 91-875-444-9338

Gracias … Mucha suerte …

More Interesting

¿Por qué desarrollamos aplicaciones nativas si solo podemos crear aplicaciones con HTML5 / CSS3 y Javascript y luego ejecutarlas en un contenedor?

¿Cuál es la mejor manera de crear un sistema de permisos robusto para una aplicación web para que solo los usuarios con ciertos roles puedan acceder a vistas y datos particulares?

¿Cuál es la diferencia entre HTML y XHTML?

¿Cuál es la forma recomendada de actualizar una aplicación web en vivo?

Quiero aprender programación Java principalmente para desarrollo web y aplicaciones, ¿por dónde empiezo?

Soy un recién graduado y no tengo 2 años de historial laboral, pero puedo crear aplicaciones web o aplicaciones de escritorio. ¿Cómo puedo pasar el RRHH y obtener una entrevista técnica para demostrar mis habilidades?

¿Puedo rediseñar una aplicación web desarrollada para un cliente y revenderla a otras compañías? Pero no se ha firmado ningún contrato entre mí y el cliente que desarrolló originalmente el sistema.

Si tomas un trabajo de desarrollador front-end, ¿puedes obtener un puesto completo de Rails o JavaScript algún día, o te encasillaría para hacer principalmente front-end a menos que hicieras un estudio sustancial?

¿Cuáles son las mejores prácticas para minimizar las llamadas al servidor en una aplicación web?

¿Qué es la aplicación web de Outlook?

¿Cuáles son los parámetros básicos que deciden cuándo necesitamos agregar servidores adicionales para aplicaciones web (LAMP)?

¿Por qué las personas usan IFTTT? Hice una cuenta pero no estoy seguro de por qué debería quedarme.

¿Existe una aplicación que pueda escanear la camisa de esa manera y sabremos que están usando la camiseta que les dimos?

Cómo desarrollar una aplicación web usando la misma base de datos front-end pero diferente, dependiendo de qué cliente / usuario esté accediendo a ella

¿Cuáles son las ventajas de SSD VPS frente a SSD VPS en el alojamiento de una aplicación web?