Pregunta

Habiendo trabajado con ASP clásico durante aproximadamente 2 años creando unos 100 formularios web simples, no veo una buena razón para cambiar a .net;sin embargo, no estoy tan versado en .net, así que estoy seguro de que me podrían faltar algunas cosas.

Algunos puntos que escucho a menudo sobre el trabajo se pueden encontrar aquí: http://www.packtpub.com/article/Classic-ASP (No es que comparta todos estos pensamientos, pero es un buen punto de partida)

Estoy muy interesado en escuchar lo que otros tienen que decir sobre este asunto.

¿Fue útil?

Solución

¡Te estás perdiendo más de unas pocas cosas!ASP.NET es mucho más productivo, robusto y fácil de mantener de lo que ASP de la vieja escuela alguna vez pensó que sería.Controles del lado del servidor, controles de terceros, páginas maestras, autenticación de formularios, validación de formularios, un modelo OO que fomenta la partición adecuada de aplicaciones, fácil implementación, depuración y seguimiento integrados, gestión de estado.

Incluso tienes la opción de WebForms o MVC.No es un eufemismo decir que simplemente estás loco si no investigas a fondo lo que te estás perdiendo.

Otros consejos

Si le gusta ASP y desea pasar a ASP.NET, omita Webforms y aprenda MVC.

El mayor problema para mí es que creo aplicaciones, no sitios web... La interfaz de usuario es una parte menor del problema, la parte más importante es escribir la capa de lógica empresarial y varios componentes de comunicación empresarial (¿Conectarse a SAP mediante SOAP?¡Ningún problema!).

El kit de herramientas .NET me permite programar en un maravilloso lenguaje orientado a objetos (C#) y tiene un marco sólido para ayudar.

VbScript es un lenguaje horrible para intentar escribir una aplicación empresarial.

Sin embargo, si todo lo que hace es un pequeño formulario web, entonces utilice VbScript.

En cuanto a su enlace, básicamente se reduce a:

  • WaaWaa, no me gusta Visual Studio
  • WaaWaa, quiero editar el código de producción en el servidor de producción como un idiota.
  • WaaWaa, no sé si implementar una única DLL compilada es todo lo que un sitio pequeño necesita para implementar una aplicación asp.net.

Básicamente, es ignorancia en pocas palabras.

Para centrarnos en la pregunta específica ("beneficios de Classic frente a .Net"), solo hay dos cosas que puedo pensar que Classic hace y que .Net no hará:

1) Incluye.Simplemente no funcionan como cabría esperar en ASP.Net.Por supuesto, ASP.Net proporciona formas mucho mejores de lograr lo mismo, pero sigue siendo una pérdida y puede hacer que migrar un sitio antiguo a .Net sea una molestia.

2) ASP.Net no irá por encima de la carpeta raíz de la aplicación.Donde estoy, tenemos una intranet bastante compleja que sigue siendo en su mayoría ASP clásica, con algunas aplicaciones .Net aquí y allá a medida que se actualizan cosas o se agregan cosas nuevas.Sería bueno poder mantener una copia del código común en un lugar bastante alto en la jerarquía de carpetas pero aún así tener cada aplicación individual aislada en su propio VD.Pero claro, para eso está el control de fuente, así que no es gran cosa.

Para mí, la mayor ventaja de pasar de Classic ASP y ASP.Net hasta ahora es el IDE.Es muy agradable poder hacer clic derecho en una llamada de función y elegir "Ir a definición" en lugar de tener que buscar el archivo donde realmente se implementa la función.Gran ahorro de tiempo.Y el soporte Intellisense y la seguridad de tipos al llamar a funciones también son una gran ayuda.

Para mí, tengo que decir que Classic ASP se desarrolla rápidamente, es fácil de usar y aprender, no es demasiado complicado y es muy capaz de realizar la mayoría de las cosas que se le piden.

ASP con JScript/Javascript como lenguaje principal es realmente muy divertido codificar.VBScript es un desperdicio de capacidad intelectual y creo que es lo que le da mala fama a Classic ASP.Además, se considera lento, pero todos los artículos sobre velocidad y cantidad de usuarios se basan en servidores de más de 10 años.Gestionamos un sitio que recibe 60.000 usuarios al día en dos servidores y la CPU apenas parpadea.Los servidores modernos te dan mucha más potencia para jugar.

Con los grandes avances en el uso, los diseños y las mejores prácticas de Javascript en los últimos años, el codificador ASP JScript puede obtener muchas ventajas para hacer la vida aún más fácil.He portado Mootools al lado del servidor y con eso obtenemos una gran cantidad de ayudas maravillosas, modelo de clase, excelente modelo de evento y mucho más.ASP es muy divertido.ACTUALIZAR:Mootools ahora tiene una compilación del lado del servidor que puedes descargar (http://mootools.net/descargar).

ASP.net es SÚPER poderoso, pero tiene una gran rampa en la curva de aprendizaje para funcionar bien, puede hacer que todo su sitio caiga cuando tiene uno de sus ataques y, lo peor para mí, puede parecer que realmente da vueltas por las casas para obtener lo más simple. cosas hechas.

Me estoy divirtiendo mucho usando ambos en este momento, usando el que mejor se ajuste a la brecha.Tengo un pequeño CMS Cacher y Thumbnailer compilado en .net que utilizan mis scripts ASP.Lo mejor de ambos mundos.

Para empezar, rendimiento, escalabilidad y un marco que proporciona una base mucho mejor para el mundo sin estado de las aplicaciones web.

La página ASP.Net de Wikipedia tiene una sección sobre las diferencias.

Si miras tu antiguo código y dices: "¡En qué estaba pensando!¡Esto es basura, escribo código mucho mejor ahora!" entonces te has desarrollado como programador.

Si los sitios son bastante temporales (es decir,lo construye rápidamente, se utiliza para un propósito específico y una cantidad de tiempo y luego se cierra de manera efectiva), entonces es perfectamente aceptable acceder a estos sitios de la manera más cómoda para usted.

Si tiene una larga lista de errores, correcciones y mejoras que ahora necesita (o le gustaría) trasladar a sus sitios antiguos, o si sus "sitios pequeños" son cada vez más grandes y más completos y esto le está causando un dolor significativo, entonces necesita dar un paso atrás y reevaluar cómo estructura y respalda estos sitios.

Estoy totalmente de acuerdo en que ASP.NET es un entorno de programación mucho más maduro y eficaz.Sin embargo, como cualquier herramienta, necesitas saber (o aprender) la forma correcta de usarla, ya que no te convertirá automáticamente en un "súper programador" de la noche a la mañana.

Una forma de romper el hielo es acordar con su jefe que el próximo "sitio" que cree se desarrollará en ASP.NET.Explíquele que tomará mucho más tiempo que la forma en que entrega los sitios actualmente porque tiene que "entender" ASP.NET, pero los beneficios son x,y y (¡el ejercicio se deja al lector!)

Personalmente, todavía estoy en la fase de transición (¡y comencé a usar ASP.NET desde la versión 1!), ya que tengo un marco ASP clásico bastante sólido con el que estoy desarrollado y me siento cómodo.Sin embargo, he usado ASP.NET estratégicamente y lo he encontrado MUY poderoso y terminarás escribiendo menos código, ya que gran parte está integrada en el marco .net, siempre y cuando puedas encontrarlo en la documentación.

También te recomiendo que NO uses VB.NET y que te animes a usar C#.El cambio de idioma es bastante menor, pero reduce las posibilidades de escribir sus sitios exactamente igual que antes.Ayuda a romper con los malos hábitos y te da la oportunidad de aprender nuevas técnicas.

¡Buena suerte!

Tengo una palabra "depuración": nunca querrás tener que usarla, pero siempre lo haces.En .Net, si usa Visual Studio, tiene un depurador fantástico en comparación con intentar depurar código en ASP.

Para sitios simples, prefiero ASP vs.ASP.NET, especialmente si conoce bien HTML.Sin embargo, con ASP, separar la lógica empresarial de la vista es difícil;Es probable que el código que escriba sea difícil de leer y mantener.

Sin embargo, PHP es mejor que ASP y algo similar en el nivel básico.Y siempre puedes recurrir a Rails o Django, si estás interesado en una pila de desarrollo web autónoma (pero con una curva de aprendizaje mucho más larga).

Una ventaja de ASP.NET es que tiene la opción de codificar su sitio exactamente como lo hacía con ASP clásico, junto con acceso a la riqueza del marco .NET.Puede mantener la funcionalidad existente y agregar nueva funcionalidad ASP.NET si fuera necesario.Se mezclan bien.

Lamentablemente el autor del citado artículo no está muy versado en la tecnología detrás de ASP.NET, como lo demuestran sus comentarios (y tal vez ni siquiera en el ASP clásico).La mayoría de sus puntos no son válidos o simplemente son incorrectos.

Todos aquí han hecho puntos válidos.

Fui un desarrollador ASP clásico hasta hace 3 años, cuando cambié a .NET 2.0.

No pude volver atrás (aunque todavía tengo que arreglar un puñado de sitios ASP clásicos).

Extraño tener un objeto de conjunto de registros, los repetidores de datos son excelentes para mostrar datos rápidamente, pero los conjuntos de datos, si bien ofrecen una funcionalidad maravillosa, son terribles cuando se trata de rendimiento en sitios "grandes".Para ser justos, he estado haciendo conjuntos de datos de forma indirecta con matrices en ASP clásico.La única vez que uso conjuntos de datos es para las cestas de mi sitio de comercio electrónico.Extraño rs.movext, etc.

FlySwat ha cometido uno de los errores más grandes que veo que cometen muchos desarrolladores.

Sí, lógica empresarial, OO, etc.que ofrece .NET es excelente (escalabilidad con la que no estaría 100% de acuerdo, pero definitivamente es más extensible), pero cuando usas ASP.NET todavía estás creando un SITIO WEB.Olvídese de esta tontería de utilizar la terminología "aplicación".He conocido a muchos grandes desarrolladores de .NET que crean sitios OO de n niveles, pero no tienen una comprensión real de la singularidad de crear un sitio web;como el estado, o el maldito y molesto problema de que dependen demasiado de Javascript.La mayoría de estos desarrolladores crean sitios tipo MS que normalmente no cumplen con el W3C, no son compatibles con todos los navegadores y nunca se degradan correctamente.Y no, no es aceptable ni siquiera que las aplicaciones administrativas solo sean compatibles con IE.

.NET también tiende a "engordar" los sitios simples.En muchos sentidos, .NET fue una forma de lograr que los desarrolladores de WinForm comenzaran a crear sitios web (o, como prefieren, aplicaciones web).El problema fue que esto trajo consigo un grupo de desarrolladores que se dieron el lujo de no tener que preocuparse por el estado, los estándares, etc...

Sigo manteniendo que cualquier sitio .NET puede construirse en ASP clásico y ejecutarse más rápido (tiempos de respuesta de la página) para el usuario final...

...PERO aunque tengo buenos recuerdos del ASP clásico, lo que puedo hacer con .NET en términos de imágenes, cifrado, compresión, fácil integración de servicios web, OO adecuado, n-tier decente, extensibilidad, etc...es lo que le da a .NET la ventaja.Incluso cosas tontas como simplemente agregar una línea de código a web.config para indicarle que escriba el ID de sesión en la cadena de consulta si el usuario no acepta las cookies (esto era una molestia en ASP clásico) es genial.

Pase a .NET, no se arrepentirá, pero tómese un tiempo (especialmente si no sabe acerca de OO (herencia, abstracción, polimorfismo y encapsulación).No empiece a crear sitios .NET en el modo de compatibilidad clásico, es sólo una forma económica de hacerlo .NET y aun así terminará utilizando prácticas ASP clásicas.Si VBScript fuera su principal lenguaje de desarrollo, el salto no sería tan fácil como MS u otros le harían creer.

Lo más importante para mí es que he heredado, desde mis días clásicos de ASP, el diseño fundamental de aplicaciones de sitios web (;-)) y esto nunca debería cambiar entre idiomas.

Rara vez una respuesta en este hilo responde a la pregunta.En lugar de tomar la salida más fácil, lo intentaré:

Algunos beneficios que no se han mencionado (centrados en JScript):

  • Puedes aprender todo el idioma. y guárdelo en su memoria si lo usa lo suficiente; no conozco a nadie que afirme conocer todo el marco .NET;esto hace que la codificación sea muy rápida.
  • Mecanografía débil - esto puede permitirle codificar más rápidamente cuando ejecuta algo rápidamente, por ejemplo, ¿realmente le importa la diferencia entre char y string la mayor parte del tiempo? (inserte aquí la guerra religiosa de llamas)
  • evaluar:Esta palabra clave tan difamada es realmente increíblemente poderosa y le permite manipular su código en tiempo de ejecución de maneras realmente interesantes.
  • Compatibilidad de idiomas cliente/servidor:La similitud de JScript con Javascript significa que puede usar el mismo archivo de inclusión para la validación del lado del servidor que usa para el lado del cliente.

Si todo lo que haces son pequeñas páginas web simples, entonces haz lo que sea.O mejor aún, aprenda PHP.La mayor parte de la respuesta que obtendrá proviene de personas que crean aplicaciones web, y por eso asp.net supera al asp clásico en potencia y facilidad de mantenimiento.

Estoy de acuerdo con todos aquí excepto con el que dijo omitir formularios web e ir directamente a MVC.Esto no es útil.Webforms es muy útil para aplicaciones basadas en bases de datos que muestran muchas tablas, etc.He trabajado en algunas aplicaciones de formularios web muy grandes y funciona bien.MVC es bueno para aplicaciones de tipo "Web 2.0" más interactivas.

Después de haber hecho un puerto "cambiar el nombre de asp a aspx y cambiar hasta que se compile" de una aplicación a asp.net, diría que incluso asp classic estilo Programar en .NET es mejor que ASP clásico.VS, por supuesto, lo alentará a caer en el pozo del éxito y lo conducirá hacia los formularios web y la forma de hacer las cosas con código subyacente, pero el lenguaje es lo suficientemente expresivo como para replicar los patrones del asp clásico (es decir, muchas pepitas de oro/en línea). código, páginas de publicación cruzada, etc.)

Creo que he oído decir antes que puedes escribir COBOL en cualquier idioma.Esto es cierto para el áspid clásico.

Siempre uso ASP clásico, funciona muy bien.

Probé ASP.net durante un par de años, pero era demasiado complejo para la mayoría del desarrollo de sitios web.A mis clientes tampoco les gustó porque no podían entenderlo.También les gusta saber que no están atados a un solo desarrollador.

ASP.NET sigue cambiando y requiere una curva de aprendizaje enorme y constante para mantenerse actualizado.MS cambió el lenguaje principal a C#, lo que hizo la transición mucho más difícil.

Mi productividad se ralentizó con .net porque siempre estaba buscando tutoriales o ejemplos de cómo hacer todo.

Visual Studio va muy lento.

PHP tiene una sintaxis fea y demasiados marcos diferentes, lo que hace imposible aprenderlo para fines de desarrollador.En mi opinión, solo es bueno para uso de intranet con personal dedicado.

El ASP clásico está bloqueado y funciona perfectamente hoy tal como lo hacía hace años.Con unos pocos archivos de biblioteca, escribir código es muy fácil y los ejemplos son ilimitados en Internet.

Escrito correctamente, cosa que la mayoría de la gente no hace, vbscript es un código limpio, legible y eficiente.Dejo las cosas del lado del cliente para bibliotecas como jQuery y descubro que soy mucho más productivo.

Si utiliza ASP clásico en este punto (sin un mandato de su CTO), entonces necesita ver un encogimiento.o eres masoquista.O como satanista, en cuyo caso, ¡te gustaría porque estarías en el infierno!:pag

Hablando en serio...para aplicaciones web utilice WebForms.

Para sitios web ligeros, rápidos y sucios, utilice ASP.NET MVC.

¡Lo bueno de ASP es que puedes usar VB.NET, C#, Eiffel, Boo o PHP para tu idioma!Para PHP, consulte Phalanger...

Como me pagan por crear soluciones y no por escribir código, prefiero ASP.NET al ASP clásico.Si bien el ASP clásico sigue siendo práctico para sitios muy pequeños y simples, todavía hay mucho poder detrás de ASP.NET al escribir sitios un poco más complejos.Además, incluso con ASP.NET puedes usar el Bloc de notas para escribir los archivos .aspx tú mismo, incluido el código vb o c# incrustado.Visual Studio simplemente proporciona muchas funciones adicionales que eliminan la necesidad de escribir más código usted mismo.Y, como dije, no me pagan por escribir código...

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