Este proyecto tiene la finalidad de servir como fuente de aprendizaje sobre "desasrrollo en el mundo real" para los interesados en aprender ASP .NET MVC.
Es fruto de una iniciativa de Developers.DO y C#.DO.
- Cada 1 o 2 semanas crearemos un Hangout para explicar conceptos relacionados al desarrollo del proyecto.
- El hangout será público, anunciaremos el URL con tiempo, y publicaremos un evento en Facebook para recordar a los interesados.
- Durante el hangout, no todos pueden participar en el video (hay un límite de 10 personas). Pero todos pueden colaborar en el widget de preguntas y respuestas.
- Durante las sesiones interactivas, todos están invitados a hacer preguntas en el chat. El propósito no es dar una cátedra, sino programar algo real y que los participantes aclaren dudas.
- Luego de cada sesión se definirán Issues(feature nuevos, bugs, mejoras, etc.) para que todo el que quiera participar lo pueda hacer.
Todo el conocimiento y decisiones que surgen a partir de discusiones se asentará en [el wiki](https://github.com/developersdo/empleo-dot-net/wiki]], puede utilizarlo como referencia futura.
- Comienza revisando los recursos sugeridos
- Mira la lista de sesiones previas en Google Hangouts
- Entra al chat del grupo si tienes preguntas puntuales (Si ya tienes una cuenta en hipchat, entra aquí como invitado)
- Si quieres colaborar puedes comenzar un Pull Request
Pensamos dividir el desarrollo en tres etapas que permitan que participen personas con todo tipo de background en desarrollo:
- Conceptos de git para desarrollo en equipo: forking, pull requests, merging, conflict resolution, etc
- Conceptos básicos de ASP.NET MVC
- Definición de historias de uso, ¿Qué debe lograr la aplicación?
- Definición de estructura básica MVC
- Entity Framework Code-First
- Viewmodels y renderización de vistas
- Adición de layer de seguridad
- Service Layer
- Patrones de diseño:
- Repository
- Unit of Work
- Optimizaciones de HTML/CSS/JS
- Refactoring javascript
- Thin Controllers
- Test-Driven-Development
- Dependency Injection
- User Stories that drive tests
- Rewrite of the complete application
Una vez tengamos todo el código organizado y con pruebas unitarias desarrolladas, podremos exportar parte de la lógica a una aplicación mobile. Probablemente utilicemos Xamarin Forms para esta etapa del proyecto, porque implica que se puede desarrollar una sola aplicación y con esto llegar a las tres plataformas de smartphones principales: iOS, Android y WP8.