¿Aprender VB o VB.net?
(Compilado por Green Apple Studio a las 14:47 del 7 de marzo de 2001)
El concepto .NET de Microsoft se está infiltrando de varias maneras nuestras vidas. Como dijo un experto de la industria: "¡.NET lo cambiará todo"!
Siendo ese el caso, los profesionales de TI y los tomadores de decisiones empresariales deben comprender rápidamente las implicaciones de este nuevo concepto.
Descripción general
VB está en constante evolución, imagina que
podrás hacer lo que quieras con funciones con las que los programadores de VB siempre han soñado, sí. cosa emocionante. Sin embargo, esta versión de VB, cuyo lanzamiento está previsto para el cuarto trimestre de 2001, puede causarle algunos problemas, porque requiere una larga curva de aprendizaje para dominarlo por completo y porque contiene algunos cambios sutiles y podría cometer errores al utilizarlo. a ellos.
Preparación requerida: Se recomienda obtener la versión beta de Visual Basic.NET, que es útil para todos los programadores de VB.
.
El Microsoft .NET cubiertas de plataforma En muchas áreas, es difícil predecir lo que realmente significa.
Hemos notado que muchas personas ahora tienen una comprensión incorrecta de .NET. Por eso, en este artículo, le enseñaremos de principio a fin qué es realmente VB.NET, qué es, qué puede hacer y cómo aprovecharlo al máximo
. En particular, veremos más de cerca los cambios en el entorno de desarrollo integrado, las características orientadas a objetos, los cambios en la arquitectura subyacente, algunas sintaxis "modernizadas" y mejoras en el empaquetado y la publicación. Analizaremos lo que estas funciones pueden hacer por usted y le explicaremos sus
pros y contras. Debido a que estos cambios son tan grandes y completos, no es realista esperar que este artículo
sea completo; para una comprensión integral del tema, consulte los artículos y libros relacionados.
Visual Basic.NET es completamente diferente a las herramientas de desarrollo que conoces hoy, y esta nueva versión cambiará tu
futuro. ¿Qué tan diferente es? Si pensabas que pasar de VB3 a VB4 era un gran cambio, este VB.NET
te sorprenderá. Esta actualización no es tanto una nueva versión de VB sino una migración a una nueva plataforma
y la situación a la que se enfrenta es casi la misma que pasar de DOS a Windows.
VB obtendrá funcionalidad de herencia
La primera característica nueva que se espera que obtenga VB.NET es la funcionalidad de herencia. La herencia ha sido la característica más solicitada por los desarrolladores de VB durante mucho tiempo
. Tendremos que esperar y ver si la necesidad de funcionalidad heredada es la misma que la necesidad anterior de compiladores localizados.
Visual Basic es ahora un verdadero lenguaje orientado a objetos. Anteriormente, podía crear una herencia de objetos pseudoimplementada utilizando la herencia de interfaz de VB
, pero ahora ya no es necesario.
Visual Basic.NET ahora proporciona muchas características orientadas a objetos, incluida la herencia de aplicaciones, que le permite derivar las clases que desea crear a partir de
otras clases. Al igual que con otros lenguajes orientados a objetos, puede anular los métodos y propiedades de la clase base
e implementar polimorfismo para crear componentes robustos y extensibles.
Por ejemplo, suponiendo que hereda una clase ForkLift de la clase base Crane, puede anular la implementación predeterminada del método Lift en la clase base usando el siguiente código:
Clase pública ForkLift
Hereda la grúa
Anula el levantamiento secundario (ByRef _
Altura como doble)
Alto = Alto + 10
Fin del sub p>
Clase final
Funcionalidad sobrecargada en VB.NET Framework 2.0. La sobrecarga es la capacidad de definir métodos o propiedades con el mismo nombre pero usando
tipos de datos diferentes. Por ejemplo, supongamos que tiene un componente que ordena matrices de diferentes tipos de datos
No necesita tres métodos (uno para cada tipo de datos) con nombres diferentes, de hecho, puede sobrecargar uno
Nombre del método:
Sobrecargas Sub SortArray(ByRef _
aValues() As String)
...
Sobrecarga Sub SortArray(ByRef _
aValues() As Integer)
...
Sobrecarga Sub SortArray(ByRef _
aValues () Como objeto)
Otro cambio es que los formularios ahora son módulos de clase. Esto significa que la clase misma contiene todo el código "fertilizante" para construir el formulario. Quizás se pregunte por qué está viendo todo este código que no necesitaba mirar antes, pero este cambio también trae nuevas y poderosas capacidades, incluida la capacidad de heredar de estos formularios, una tecnología que Microsoft llama Heredado para visualización.
Suponiendo que su cuadro de diálogo tiene un formato estándar, como una fila de botones en un lado del formulario y una etiqueta en la esquina, entonces la herencia visual le permitirá crear una plantilla de cuerpo de ventana (clase ) y derivar la forma requerida
de esa clase base.
Todo es un objeto
La reutilización de código simplifica el proceso de desarrollo, y características como la implementación y la herencia visual promueven una reutilización de código más simple y poderosa
. Sin embargo, la reutilización de código no termina ahí. Puede heredar de otras clases definidas en lenguaje VS.NET a través de Common Language Runtime (CLR) que admite VB. Por ejemplo, si usted u otra persona
creó una clase C#, puede heredar esa clase de VB.NET.
Las características orientadas a objetos de VB.NET amplían el acceso al propio lenguaje: todo es un objeto. Esto significa que obtienes más funciones integradas que en versiones anteriores de VB y rara vez te ves obligado a utilizar la API de Windows. Por ejemplo, en
versiones anteriores de VB, usaba el método LoadPicture para cargar una imagen y usaba el método Line del formulario (o una API más rápida) para dibujar la línea. Ahora puede utilizar objetos System.Drawing para crear y manipular gráficos. Puede utilizar el siguiente código para mostrar una imagen en un formulario:
picshowpicture.Image = _
system.Drawing.Image.FromFile( _
" c: \test.bmp")
Tenga en cuenta que el enfoque de "todo es un objeto" de VB.NET es "todo es un objeto".
Tenga en cuenta que el enfoque de "todo es un objeto" de VB.NET hace que sus declaraciones duren más.
Mire la siguiente declaración, que dibuja una línea de color amarillo verdoso en el objeto gráfico:
objgraphics.DrawLine(system.Drawing. _
Pens .Chartreuse, 0, 0, 100, 100)
Estas declaraciones largas también tienen beneficios: funcionalidad mejorada, adaptabilidad y facilidad de uso. Mientras que antes había que buscar en la documentación y, a menudo, recurrir a las API para lograr una funcionalidad avanzada
, ahora el conjunto relevante de funcionalidad está encapsulado lógicamente en objetos
. Otro beneficio de este enfoque es que las clases organizan claramente las funciones relacionadas.
Así que, en realidad, es bastante divertido explorar los objetos que te interesan y conocer sus capacidades.
Las capacidades orientadas a objetos de Visual Basic.NET proporcionan muchos beneficios reales. En muchos casos, las características orientadas a objetos de VB.NET
y las propiedades heredadas implementadas pueden ayudarle a crear
tipos específicos de funcionalidad más fácil y rápidamente que en versiones anteriores de VB. Sin embargo, no es necesario utilizar la herencia de implementación u otras características de .NE
T sólo porque puede utilizarlas. ¡Las nuevas funciones de VB.NET facilitan el desarrollo de muchos tipos de aplicaciones! Sin embargo, como ocurre con todas las funciones de idioma
, debe utilizar la función que mejor se adapte a su situación particular.
Peligros de los hilos gratuitos
Es posible que se justifiquen advertencias especiales sobre los hilos libres. VB6 le permite crear programas de servicio de subprocesos múltiples utilizando subprocesos separados, pero VB nunca le ha permitido crear programas cliente de subprocesos libres.
Ahora, crear aplicaciones sin subprocesos es casi trivial. De hecho, si los programadores agregaran subprocesos gratuitos a una aplicación sin comprender los matices, sospecho que se encontrarían con muchos problemas.
Solo se necesitan unas pocas líneas de código para iniciar un nuevo hilo: simplemente pasa la dirección del objeto del hilo al método, y el método en sí
inicia el hilo. Esto es algo realmente interesante y útil, pero debes tener cuidado: estas características están diseñadas para situaciones específicas, y debes identificar cuáles son esas situaciones y usar estas herramientas sabiamente.
Muchos desarrolladores se han metido en problemas con la herencia y los hilos libres, no dejes que eso te pase a ti.
Quizás la característica más discutida de VB.NET es CLR (Common Language Runtime), y VB se ejecuta sobre la base de CLR. Es el CLR el que proporciona muchas de las características clave de VB. Por ejemplo, CLR admite implementación y herencia entre idiomas
así como subprocesos gratuitos.
La publicación de un programa VB requiere publicar la biblioteca de tiempo de ejecución de VB al mismo tiempo, que es msvbvm60.dll en VB6. Muchos otros lenguajes
tienen requisitos similares, incluidos C++ y Java. En .NET, todos los lenguajes de Visual Studio
*** comparten la misma biblioteca de tiempo de ejecución: CLR. Aquí hay varios cambios importantes: primero, todos los lenguajes de Visual Studio
ahora comparten el mismo entorno de desarrollo integrado, el mismo motor de formularios, el mismo mecanismo de manejo de excepciones, etc. Esto significa que lenguajes como Visua
l Basic y C# tienen el mismo estatus, o al menos casi el mismo estatus.
Respuesta:
Una mirada más cercana a VB.NET
(Compilado por Green Apple Studios a las 14:47 del 7 de marzo de 2001)
Lenguaje intermedio fácil de descompilar
Ya sea que escriba su aplicación en VB, C# o cualquier otro lenguaje .NET, ¡el código VS.NET se compila en un lenguaje intermedio! (I
L). Cuando se ejecuta la aplicación, un compilador justo a tiempo (JITter) procesa el código IL y lo compila en lenguaje de máquina
.
Esto significa que, en teoría, es posible crear bibliotecas de tiempo de ejecución .NET para plataformas distintas a Windows, pero aún no hay noticias oficiales al respecto.
Una desventaja de los lenguajes intermedios es que se pueden descompilar fácilmente, como ocurría con las versiones de VB anteriores a VB5. Esta posibilidad ha llevado a muchos desarrolladores a cuestionar la seguridad de toda la arquitectura .NET.
El CLR afecta al código tanto dentro como fuera de la jerarquía de IL, y los cambios en él beneficiarán a todos los lenguajes que utilizan el CLR.
Sin embargo, el idioma
solo es relevante en cómo se interpreta el código como IL, y las optimizaciones específicas del idioma se pueden escribir de acuerdo con la sintaxis de un idioma específico.
Esto es técnicamente posible hacer que la diferencia de rendimiento entre los lenguajes .NET sea muy pequeña. De todos modos, en general, Blueprint es maravilloso
.
Por ejemplo, CLR hace que las herramientas de depuración y monitoreo de VB sean comparables a sus contrapartes de C# porque son esencialmente las mismas herramientas.
CLR proporciona integración entre idiomas no concurrente, incluida la capacidad de heredar código entre idiomas.
Todos los lenguajes que utilizan CLR
comparten un sistema de tipos común, lo que facilita el desarrollo de aplicaciones en múltiples idiomas. No me gusta traducir las declaraciones de C API
a un formato que pueda usarse en VB, por lo que realmente aprecio las ventajas de un sistema de tipos universal.
El código que se ejecuta en CLR se denomina código administrado y la memoria utilizada por el código administrado está completamente controlada por CLR.
El código administrado aporta muchos beneficios, incluida la integración entre idiomas, el manejo de excepciones entre idiomas y un modelo de interacción de componentes simplificado.
Visual Basic solo funciona como código administrado, mientras que C# puede saltar a código no administrado
(que se ejecuta fuera de la biblioteca de tiempo de ejecución) y realizar operaciones como la manipulación de punteros. .Este es uno de esos casos en los que VB y C# no son equivalentes
. La importancia de esta habilidad depende de lo que quieras hacer.
Las diferencias arquitectónicas creadas por CLR van más allá de la integración entre idiomas, las funciones de disfrute y el código administrado. Primero, la estructura de soporte de Visual Studio.NET no es COM. En segundo lugar, todo en VB.NET, incluso las cadenas, son
objetos. Por estas y otras razones, Microsoft cambió la forma en que la estructura de soporte maneja los objetos. COM implementa un esquema de conteo de referencias, por lo que cada vez que se hace referencia a un objeto, se incrementa un contador. Cuando la referencia del objeto sale del alcance o se libera, el contador disminuye y cuando el recuento de referencias disminuye a cero, el objeto finaliza. Microsoft afirmó que la sobrecarga del recuento de referencias en la arquitectura .NET era demasiado grande para implementarse en .NET, por lo que abandonó el recuento de referencias
en favor de la recolección de basura.
La recolección de basura requiere una nueva arquitectura
El recolector de basura CLR básicamente monitorea los recursos del programa y cuando los recursos disponibles alcanzan un umbral definido, buscará recursos inútiles
objetos y elimínelos cuando los encuentre. Uno de los grandes beneficios de la recolección de basura es que ya no tiene que preocuparse por las referencias circulares más comunes, donde los objetos secundarios se refieren a objetos principales y los objetos principales se refieren a objetos secundarios. Según el esquema de recuento de referencias, la referencia circular impide que ambos objetos sean liberados y borrados. Sin embargo, el recolector de basura encontrará las referencias circulares y las limpiará. Esto también significa que liberar la última referencia a un objeto ya no requiere la eliminación inmediata del objeto.
Una consecuencia de la recolección de basura es que ya no se puede contar con que el evento de terminación de una clase se emita en el momento adecuado
. De hecho, si un hilo está bloqueado, es posible que no emita ningún evento de terminación. Este tipo de terminación se denomina terminación no determinista, a diferencia de la terminación determinista proporcionada por COM. La falta de terminación determinista y el hecho de que los punteros no se pueden utilizar porque el recolector de basura reorganiza y compacta la memoria, provocó una ola de acaloradas discusiones en los grupos de noticias.
Me imagino que estas
nuevas restricciones pueden resultarle molestas, porque depende de la terminación determinista, o pueden resultarle indiferentes, porque no depende del
evento de terminación. La recolección de basura no es una panacea y la implementación de referencias débiles aún requiere algunas consideraciones.
Desde el recuento de referencias hasta la recolección de basura es solo una manifestación de la estructura de soporte de Visual Studio.NET y no de COM
. Puede utilizar objetos COM, como servidores ActiveX o controles ActiveX, en VB.NET. Sin embargo,
debe acceder a estos objetos a través de contenedores. Cuando escuche el término "envoltorio", debe comprender que enfrentará
una penalización de rendimiento y que el objeto puede comportarse de manera diferente. Si planea portar un programa que utiliza una gran cantidad de objetos COM, deberá realizar pruebas y planificación cuidadosas, y es posible que deba reestructurar la aplicación para una migración exitosa. Francamente,
hay que estar preparado para los contratiempos. ¿Recuerdas la migración de VBX a OCX? Lo recuerdo, y también mi psiquiatra
Dr. Voy a volver a verlo pronto ;-)
El lenguaje en sí cambia mucho más que la arquitectura. La mayoría de los cambios tienen sentido, pero no creo que todos los cambios lo tengan. Las versiones anteriores de VB permitían hacer tantas cosas de tantas maneras que los estándares de codificación unificados no existían o eran difíciles de implementar, y en un esfuerzo por "limpiar" el lenguaje, Microsoft VB se modificó ampliamente. Hay muchas situaciones en las que podrías hacer algo de varias maneras y ahora solo tienes una. Billy Hol
llis proporcionó una lista detallada de cambios de sintaxis, incluida una lista de palabras clave obsoletas, pero algunas deben repetirse aquí
Primero, el método predeterminado para pasar datos a los parámetros del procedimiento almacenado cambia de ByRef a ByVal. Este cambio
se debe principalmente a que pasar por referencia es mucho más riesgoso que pasar por valor. Esto es riesgoso principalmente porque los datos durante la llamada pueden ser manipulados sin intención. Aún puede pasar datos por referencia, pero este cambio hace que sea necesario modificar el nuevo método de llamada predeterminado para usar referencias.
La declaración Set desaparece
En segundo lugar, la declaración Set desaparece. En VB.NET, si necesita pasar una referencia de objeto a una variable, todo lo que necesita
es un signo igual y el objeto se trata como cualquier otro valor. Esto es genial, pero tiene un efecto secundario: las propiedades predeterminadas desaparecen
. Por ejemplo, ya no puede hacer referencia a una propiedad de esta manera:
Texto1 = "¿Qué, me preocupa?"
En su lugar, debe hacer referencia a la propiedad explícitamente:
Texto1. Eliminar propiedades predeterminadas. Por ejemplo, supongamos que tiene una variable de objeto llamada
objFoo y no utiliza una instrucción Set, entonces la referencia establecida por la siguiente instrucción será ambigua:
objFoo = Texto1
p>¿Debería establecerse esta declaración como una referencia a Texto1, o debería completarse objFoo en la propiedad Texto de Texto1? Descartar la declaración Set también requiere descartar las propiedades predeterminadas.
Un cambio que no me gusta: ya no se pueden declarar los procedimientos Property Get y Property Set
set en diferentes ámbitos. Tenga en cuenta que VB.NET no tiene una declaración Property Let: los objetos y valores usan conjuntos de propiedades. Esto significa que no puede utilizar el procedimiento almacenado Friend Property Let para corresponder a la propiedad pública Get. Muchos desarrolladores de componentes crean procedimientos almacenados de configuración de propiedades Friend para permitir que sus aplicaciones cambien los valores, pero también proporcionan procedimientos almacenados de obtención de propiedades públicas para permitir que sus programas cliente los recuperen.
Desearía poder encontrar una justificación adecuada para este cambio, pero no puedo.
Microsoft dice que está trabajando duro para mantener el lenguaje claro y moderno, y hace un buen trabajo en la mayoría de los casos, pero este
problema de alcance y varios otros son confusos. Por ejemplo, While... .Wend debería desaparecer hace mucho tiempo, ya que Do..Loop puede lograr el mismo efecto. Sin embargo, en lugar de eliminar While... ..Wend
, Microsoft se causó más problemas al cambiarlo a While...End While. ¡Esto es tan extraño!
Mi cambio que menos me gusta: Microsoft cambió el significado de un tipo de datos que ya estabas usando. En .NET, Integer ahora es de 32 bits y Long ahora es de 64 bits. Me asusta pensar con qué frecuencia los desarrolladores (incluido yo mismo
) usan las variables incorrectas. ¿La API acepta enteros de 16 o 32 bits
? ¡Dios mío! Espero que Microsoft reconsidere esta decisión y utilice nuevos tipos de variables como Int32 y Long
64. No importa qué tan buenas sean las herramientas de migración para migrar a VB.NET, no pueden cambiar la memoria de los desarrolladores.
¿Por qué obligarnos a volver a aprender los tipos de datos más utilizados?
Finalmente, uno de los cambios más solicitados: VB.NET introduce la palabra clave Option Strict, que puede usar
en lugar de Option Explicit. Option Strict pone fin a la omnipresente coerción de tipos (tm), mediante la cual VB felizmente le permite asignar un valor a una cadena y luego, como un delito, realizar otra operación. Configure la opción Stric
ct y Visual Basic.NET no realizará ningún tipo de coerción por usted. Tenga en cuenta que VB.NET no es un maniaco de control completo; permite la conversión de tipos, pero no la conversión ascendente. Por ejemplo, no puede asignar una variable declarada como Single a una variable declarada como
Double sin utilizar una conversión de tipo explícita (como sngvariable = CSng(dblv
ariable) ). No puedes asignar una variable declarada como Single a una variable declarada como
Double porque corres el riesgo de perder datos. Sin embargo, puede asignar una variable declarada como
Double a una variable declarada como Single sin utilizar una conversión de tipo explícita, ya que no hay riesgo de perder datos. El uso de la opción
estricta puede ayudar a los desarrolladores a minimizar muchos tipos de errores, incluidos aquellos que son difíciles de conciliar. Sin embargo,
hay una desventaja: después de usar Option Strict en su proyecto, no podrá realizar la poscompilación.
Respuesta:
Una mirada más cercana a VB.NET (Parte 2)
(Compilado por Green Apple Studios el 03/07/2001 14:47)
p>Los formularios y la cara del nuevo entorno de desarrollo integrado
Las funciones orientadas a objetos de Visual Basic.NET son excelentes, pero cuando inicias VB.NET por primera vez
, descubrirá que no es adecuado para usted. Pero cuando inicias VB.NET por primera vez
.
Lo primero que notará es su IDE, que puede resultarle familiar; el equipo que creó el IDE de VS.NET
ha desarrollado un IDE para VB y las mejoras del mismo; Las funciones IDE también se basan en la experiencia de VB IDE.
Al mismo tiempo, los cambios en los entornos de desarrollo integrado son mucho más profundos de lo que parece en la superficie. Los lenguajes .NET utilizan el mismo entorno de desarrollo integrado y las nuevas herramientas del entorno de desarrollo integrado son potentes y fáciles de entender.
Puede configurar cualquier ventana de diseño para que se oculte automáticamente (al igual que puede ocultar automáticamente la barra de tareas de Windows), lo que reduce en gran medida el desorden. El espacio de trabajo principal es una serie de pestañas, lo que
significa que el entorno de desarrollo integrado ya no muestra explícitamente múltiples formularios y módulos de código al mismo tiempo. Cuando abres el código fuente de un objeto, el IDE agrega una nueva pestaña a su espacio de trabajo principal
para el objeto de trabajo.
El entorno de desarrollo integrado también contiene una nueva ventana llamada Lista de tareas. Su contenido incluye proyectos creados por el IDE.
Por ejemplo, si comete un error al intentar compilar un proyecto, VB creará un elemento en la lista de tareas para explicar el
error. Puede agregar elementos directamente a la lista de tareas o crear un vínculo entre la ubicación del código y la tarea comentando líneas en el código que comiencen con "TODO:"
. Me gusta la forma en que Microsoft implementó las listas de tareas; ¿qué hay que hacer antes de que salga el programa? Creo que esto me ahorrará mucho tiempo y problemas.
Uno de los pensamientos más probables que tienes al ver esto es: ¿Por qué nadie había pensado en esto antes?
Otro cambio que notarás son los formularios VB.NET. Microsoft desaprobó el antiguo motor de formularios y lo reemplazó con Windows Forms. Todos los lenguajes basados en CLR utilizan el motor de Windows Forms. Tiene varias mejoras importantes sobre el motor de formularios de VB6. Por ejemplo, Windows Forms le permite crear formularios que cambian automáticamente el tamaño de los componentes
y permiten anclar los controles a ubicaciones específicas del formulario. En otras palabras, ya no necesitará utilizar controles de terceros para
realizar estas tareas específicas. Windows Forms también permite técnicas interesantes, como formularios transparentes.
En el pasado, VB escondía toda la magia de la construcción de formas. Puede utilizar un entorno de desarrollo integrado para diseñar el formulario y agregar código al evento de tamaño inicial, pero no tiene forma de controlar el proceso entre estos dos puntos. Ahora, un formulario es una clase que contiene el código utilizado para
construir todos los formularios. Llamo a este código "código fertilizante" porque la mayoría de los desarrolladores quieren alejarse lo más posible de ellos. La mejor manera de romper un programa de manera confiable es desechar el código.
Por otro lado, los usuarios expertos pueden hacer muchas cosas interesantes con este código, ya que les permite ir detrás de escena de VB. Si no desea ver estos códigos, puede eliminarlos porque el nuevo editor de código tiene la capacidad de expandir y contraer el área de código
, y estos códigos de fertilizantes están contraídos de forma predeterminada. El editor de código también tiene algunas características nuevas e interesantes. Por ejemplo
, ahora sangra automáticamente todo su código (y lo hace muy bien) y también tiene una funcionalidad incorporada para mostrar números de línea.
Cree código compilado del lado del servidor
Además del nuevo motor de Windows Forms, .NET incluye un motor de formularios específico para crear formularios web
. Estos formularios, llamados formularios web, son lo suficientemente inteligentes como para crear formularios web del mismo modo que VB puede crear fácilmente formularios para aplicaciones de escritorio tradicionales de Windows.
Web Forms es una tecnología en ASP.NET que le permite crear formularios a partir de código utilizando herramientas RAD familiares. El código ASP.NET que usted crea se compila para residir en el servidor
, se ejecuta en el servidor y luego se envía como HTML a cualquier navegador que admita HTML 3.2.
La arquitectura subyacente captura datos de eventos en el lado del cliente y los envía al servidor. Esto significa que se puede utilizar una variedad de herramientas de interfaz de usuario, se pueden aprovechar las técnicas de diseño de formularios existentes y la interfaz de la aplicación es independiente del navegador.
Si puede renunciar a las funciones independientes del navegador, también puede optar por aprovechar algunas de las funciones proporcionadas por Internet Explorer.
Los formularios web facilitan que las aplicaciones habilitadas para la web creen interfaces de usuario mejores y más coloridas
.
Estrategia de servicios web
Otra característica importante orientada a la web en VB.NET son los servicios web, que el departamento de marketing de Microsoft enumera como una de las principales razones para adoptar .NET Framework. De hecho, los servicios web son esencialmente objetos tipo COM proporcionados por un servidor web que utiliza protocolos estándar. Tenga en cuenta que técnicamente no son objetos COM, pero se comportan de manera muy similar a los objetos COM
Microsoft quiere que todas las empresas utilicen servicios web y aplicaciones futuras
Se pueden "pegar" en diferentes servicios web tan fácilmente como ahora. Visual Basic para Aplicaciones (VBA) se puede utilizar para crear soluciones basadas en Office y programas habilitados para VBA.
En PDC, Microsoft proporcionó un programa de demostración que proporcionó un buen ejemplo de cómo Microsoft quiere que los desarrolladores "se queden" con estos servicios. En esta demostración, una clínica hipotética proporciona un sistema de reserva de citas a través de un servicio web.
Demuestra cómo programar una cita a través de la web usando un teléfono inteligente. Visual Basic.NET incluso le permite
consultar el servidor y obtener datos para todos los servicios web que el servidor puede admitir. Los programadores pueden acceder a los servicios web mediante el menú desplegable IntelliSense
, una herramienta absolutamente útil. Los servicios web son una estrategia ambiciosa para Microsoft, pero sólo el tiempo dirá si tendrá una aceptación generalizada.
Microsoft está trabajando para eliminar problemas relacionados con el empaquetado y distribución de aplicaciones, incluida la temida DLL. Los componentes contienen datos que describen lo que se requiere para ejecutar. Estos datos se denominan lista de productos y contienen mucha información, como por ejemplo: identificación del componente (nombre, versión, etc.); una tabla que enumera todas las dependencias entre todos los archivos, junto con sus ubicaciones y versiones, incluida la información de dependencia externa; datos relacionados con DLL; y
otros recursos requeridos por el componente pero no creados por el desarrollador. Los componentes se autodescriben (a través de sus manifiestos), por lo que las aplicaciones .NET
no necesitan modificar el registro para ejecutarse. En otras palabras, ya no necesita el componente de registro. En el mejor de los casos
las bibliotecas de tiempo de ejecución .NET ya existen en la máquina cliente, distribuir una aplicación compleja es tan simple como copiar una
carpeta de componentes a la máquina de destino. Simple. Otro beneficio de los componentes es que puedes tener diferentes aplicaciones
usando diferentes versiones de la misma DLL ejecutándose de manera coordinada en una sola máquina. Si todo esto sale según lo planeado, las pesadillas sobre el infierno de DLL y el control de versiones serán cosa del pasado.
El camino correcto
Microsoft ha actualizado su tecnología en todos los ámbitos, no solo en el lenguaje central. Por ejemplo, ADO.NET, una versión de próxima generación de ActiveX Data Objects (ADO) con ventajas especiales, se lanzó al mismo tiempo que Visual Studio.N
ET
. Un cambio flexible es que ADO.NET utiliza lenguaje de marcado extensible (XML) como formato para pasar conjuntos de datos entre componentes
. Esto significa que el componente receptor no tiene que ser un componente ADO.NET y que el componente receptor puede aceptar
cualquier conjunto de datos con formato XML. ADO.NET funciona mejor que ADO cuando se trata de conjuntos de datos desconectados y tiene mejor escalabilidad.
Visual Basic.NET realiza cambios importantes en el VB que todos conocemos.
Tras el revolucionario salto de C++ a .NET,
tiene un nuevo nombre: C#, mientras que el nombre de Visual Basic sigue siendo el mismo. Sin embargo, VB.NET puede ser más fácil de dominar si lo considera un nuevo lenguaje con una sintaxis similar
en lugar de una simple "actualización". Este artículo le brinda un punto de partida, pero absorber conocimientos y tomar decisiones informadas sobre su futuro es un proceso arduo, y este artículo es solo un punto de partida en ese proceso. No sé qué tan exitoso será .NET. Muchas cosas me atraen, pero otras no. La herramienta promete mucho y tiene muchas características que facilitan a los desarrolladores de VB la creación de aplicaciones de alta gama más escalables. En última instancia, su éxito dependerá de cómo lo implementen los desarrolladores en el mundo real. Al ver el progreso que Microsoft ha logrado en rendimiento y estabilidad entre las versiones PDC y Beta 1, creo firmemente que
Microsoft está en el camino correcto.