Pregunta

Me han pedido que empiece una nueva proyecto web y tengo un poco de miedo de qué camino tomar.

He ayudado a esta comunidad y también he aprendido mucho de ti durante este último año, ¡eres genial!y cuando surge esta pregunta, sois los únicos amigos a los que puedo pedir una respuesta directa y responsable.

El proyecto tiene que manejar más de 20000 usuarios en línea durante 24 días (en diciembre), envió correos electrónicos a todos los días y se convirtió en una especie de portal que maneja las páginas de destino de esos correos electrónicos, actuando junto con Flash para que todo sea configurable por el usuario.

Según mi experiencia, debo usar CorreoChimp como administrador de correo electrónico, ya que tienen precios económicos para esto y todo se puede lograr desde su API.

Mi única duda es qué tecnología utilizar.

Toda mi vida he sido amante de Microsoft, desde ASP y los últimos 5 años .NET, ¡pero todo esto está creciendo muuuy rápido!No puedo seguir con eso.

Mi primera idea fue MVC 2.0 en Azure, pero estoy un poco asustado porque nunca desarrollé para una "nube" y todos esos repositorios en la nube...para manejar tantos usuarios, y sobre todo Nunca usé MVC antes y siempre me puso en espera para sumergirme, ya que es como retroceder a los días de ASP y el lenguaje de secuencias de comandos...

Creo que WebForms para este tipo de configuración es excelente, así que Estoy abierto a cualquier idea..

¿Debería invertir en mí y sumergirme en MVC durante 2/3 meses y terminar este gran proyecto?Que la parte realmente en desarrollo es manejar el área de Administración que brinda a los usuarios la capacidad de cambiar todo en toda la página de destino.

¿Debería simplemente mantenerme en mi "espacio" confiado y hacer formularios web con redireccionamientos de URL?

La estructura alámbrica de uno de los menús se puede ver a continuación para ilustrar las "mil" pequeñas opciones que un usuario puede tener.

texto alternativo http://cl.ly/1kQx/content

No parece una exageración, sólo necesito diseñar la base de datos correctamente y pensar en la extensibilidad...Solo tengo miedo de chocarme contra una pared de ladrillos y darme cuenta de que no debería hacer cosas así y perder 15 días....como ejemplo :(

cualquier idea es muy apreciada.

¿Fue útil?

Solución

MVC 2.0 es muy, muy SECO desde el primer momento (excepto cierta dependencia de cuerdas mágicas)
Toma por ejemplo:

<%= Html.EditorForModel() %>

¡BAM!, ahora todos tus formularios se reducen a 1 línea...renderizando automáticamente la forma correcta para el modelo correcto suministrado...

public class LoginToken
{
  [Required, StringLength(50), RegularExpression("blahblah")]
  public string Username { get; set;}

  [Required, StringLength(50)]
  public string Password { get; set; }
}

Tenga en cuenta los atributos de validación declarativa que se pueden agregar al formulario simplemente incluyendo los ya incluidos jquery.validate.js (se revalidan automáticamente en el lado del servidor) y aproximadamente 2 líneas más de código en sus vistas.

Y además, todos tus campos se asignan automáticamente a tus clases:

[HttpPost]
public ActionResult Login(LoginToken token) {

  // re-display the form is there's any validation errors
  if (!ModelState.IsValid) return View();

  // validate username/password and logins
  bool result;

  using (var db = GetDB())
    result = (from u in db.Users
              let pwdHash = db.HashPassword(token.Password)
              where u.Username == token.Username &&
                u.PasswordHash == pwdHash
              select u).Any();

  if (result) // blah blah
}

También puede asignar parámetros desde URL como /url?paramOne=1&paramTwo=2 o /url/users/1/items/2 a userId = 1 y itemId = 2 automáticamente

Podría enumerar más, pero la sequedad de las cosas fue suficiente para cambiar.

Tenga en cuenta que casi todo en MVC se puede personalizar a su gusto (p. ej.la plantilla que se utiliza para representar el formulario...la plantilla para representar cuadros de lista, etc.)

Soy una persona muy centrada en el código, de ahí mi parcialidad, pero creo que estos beneficios deberían aplicarse a ti igualmente.

Imagínese cuánto código y tiempo podría ahorrar si tuviera la validación automática y el análisis de datos de formulario integrados en el marco.

¡Así que sumérgete!Puede que te lleve un tiempo acostumbrarte, pero una vez que lo asimiles, no querrás volver a WebForms otra vez...especialmente para proyectos con muchas formas como esa.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top