Es una iniciativa de Developers.DO y C#.DO de crear un proyecto en github que sirva como "aprendizaje de la vida real" para quienes quieren aprender ASP.NET MVC.
- 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 estará persistiendo en el wiki. Hay un enlace disponible en el menú del lado derecho aquí mismo en Github.
- 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 codebase de forma organizada y con unit tests, entonces podemos exportar parte de la lógica a una aplicación mobile. El anuncio de Xamarin Forms es excelente noticia para nosotros, pues probablemente quiera decir que desarrollemos el app una sola vez con poco esfuerzo para las tres plataformas (iOS, Android y WP8)