Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

383
Vistas
ASP.NET Core 2.0 Razor frente a Angular/React/etc.

Mi equipo y yo recibimos fondos para comenzar a desarrollar una aplicación web de nivel empresarial (no entraré en detalles de lo que hace). La aplicación tendrá muchas páginas web separadas, pero dos de esas páginas serán más enfocadas y muy pesadas, ya que tienen mucha interacción con el usuario, modales que muestran datos masivos, conexiones websocket, chat, etc.

Me asignaron al arquitecto jefe del proyecto, por lo que estoy investigando un poco sobre los marcos web más recientes. Para el back-end, hemos realizado algunas pruebas y hemos decidido optar por la plataforma Azure SQL. Hasta ahora, me gustan las mejoras que se han realizado y se están realizando en ASP.NET con Core 2.0. Específicamente el motor Razor, sobre versiones anteriores de ASP.NET MVC.

Quería obtener algunas opiniones de expertos sobre el "nuevo" Razor vs. Angular/React y similares. Estoy particularmente más preocupado por el rendimiento. ¿Cómo resiste Core 2.0 Razor a los marcos de renderizado del lado del cliente? ¿Son las diferencias insignificantes? Nuestra aplicación está dirigida a 1 000 000 de usuarios potenciales (aproximadamente 100 000 simultáneos).

¡Gracias por adelantado!

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Terminamos optando por un front-end de Angular y un back-end de API de ASP.NET Core, usando Azure SQL. Probamos Core Razor y, aunque mejor que el antiguo Razor, Angular fue mucho más rápido para nosotros al final. En lo que respecta a la experiencia del usuario, Angular (o React) es muy superior en términos de rendimiento. Descubrimos que los aspectos de vinculación de modelos de Angular son una ventaja gigantesca de la representación del lado del servidor. Sin embargo, el uso de Razor (o la representación del lado del servidor en general) se presta a una mejor integridad general en lo que respecta a los datos y permite una mejor transición de los datos del front-end al back-end. Existe una verdadera desconexión entre un marco front-end y una API. Todos los datos que se pasan al servidor deben convertirse en objetos escritos; esto significa que debe administrar dos conjuntos de modelos POCO separados. Esto puede causar problemas si los objetos del servidor y los objetos front-end no se alinean. Por el momento, Entity Framework Core no está muy desarrollado, por lo que tenemos problemas con la actualización de objetos, la consulta de objetos, incluidos los objetos secundarios, etc.

En general, esta configuración nos ha funcionado muy bien hasta ahora. Me imagino que React sería un reemplazo similar a Angular si te sientes más cómodo con él. Tuve que aprender Angular, que fue una transición muy fácil, ¡y ahora me encanta!

over 4 years ago · Santiago Trujillo Denunciar

0

Al usar Angular/React con API en el lado del servidor:

  • elimina el proceso de generación de HTML en el lado del servidor y ahorra CPU
  • La API produce una pequeña carga útil (JSON) y Razor (HTML), por supuesto, tendría un tamaño mucho mayor, las constantes recargas de página completa y la devolución de datos de ida y vuelta, por lo que API y SPA ahorran ancho de banda.
  • API y SPA podrían tener diferentes escenarios de versiones, escalado e implementación
  • Al usar API, también puede admitir la aplicación móvil y, si comienza con Razor, es posible que necesite API en el futuro

Pero al usar Angular/React, deberías preocuparte por los clientes:

  • el cliente debe habilitar javascript
  • el cliente debe tener navegadores modernos
  • el cliente debe tener suficiente hardware potente
  • SEO
over 4 years ago · Santiago Trujillo Denunciar

0

No tengo puntos de referencia. Pero tengo varios proyectos que ejecutan JQuery, Razor, .NET MVC (C#), AJAX. No a la escala que estás abordando.

Consejos. Asegúrese de pensar bien las cosas y siga las mejores prácticas. Para mantener las cosas fáciles de mantener, asegúrese de dividir los controladores, las vistas y el modelo en grupos más pequeños y significativos. Cuando comencé, cometí el error de poner todo en un controlador de inicio y un montón de vistas en la carpeta compartida. Estaba bien al principio, pero cuando comenzaron las características, se convirtió en un desastre y fue difícil volver atrás y rediseñar.

También uso Linq2SQL. Cometí el error de crear modelos para todo y luego me di cuenta de que podía devolver el conjunto de resultados de mis consultas como modelo. duh

Si va a .NET MVC y le preocupa el rendimiento, estas son las cosas con las que me encontré:

¡NO devuelva vistas parciales que creen grandes bloques de HTML! Asegúrate de minimizar todo. Deshazte de todos los espacios en blanco. Use nombres de identificación más pequeños. Tómese el tiempo para crear html que sea lo más ligero posible. Devuelve JSON y haz que el cliente haga parte del trabajo.

Tenga cuidado con la forma en que desarrolla su CSS. No use un montón de estilos en línea, tómese el tiempo para incorporarlos en los archivos CSS que luego puede minimizar.

Lo mismo ocurre con su JS del lado del cliente. Es tentador poner el JS dentro de vistas parciales. Mantén las cosas organizadas.

Renderizar en IE es horrible. Especialmente si hay muchas imágenes. Asegúrese de comprimir las imágenes tanto como sea posible, sin perder calidad, por supuesto.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda