Foros del Web » Programación para mayores de 30 ;) » .NET »

* A la fecha, ¿cuáles Herramientas WEB en .NET me recomiendan aprender ?

Estas en el tema de * A la fecha, ¿cuáles Herramientas WEB en .NET me recomiendan aprender ? en el foro de .NET en Foros del Web. Hola amigos. Por favor, me pueden guiar con tecnologías Web de Microsoft ? Para hacer páginas o sitios web . Necesito una recomendación acerca de ...
  #1 (permalink)  
Antiguo 31/07/2015, 13:17
Avatar de ghidalgoram  
Fecha de Ingreso: marzo-2008
Ubicación: Costa Rica
Mensajes: 446
Antigüedad: 16 años, 1 mes
Puntos: 7
Pregunta * A la fecha, ¿cuáles Herramientas WEB en .NET me recomiendan aprender ?

Hola amigos.

Por favor, me pueden guiar con tecnologías Web de Microsoft ? Para hacer páginas o sitios web. Necesito una recomendación acerca de las tecnologías web de Microsoft al momento de escribir este post. Algo asi como:

Debes aprender:
1. ASPX
2. SQL SERVER
3. LINQ
4. CRYSTAL REPORTS
etc...


Tengo experiencia en Web, pero no con Microsoft
Tengo experiencia como Desarrollador Web, tanto Front End como Back End pero ha sido con tecnologías "Open Source" como PHP y otras más. Mi conocimiento con tecnologías Web de Microsoft es casi nula. Por razones profesionales, necesito aprender y trabajar tecnologías web de Microsoft.

Yo tengo muy poco tiempo de estar investigando de las tecnología .NET He obtenido información en Internet (Youtube y otros sitios) sin embargo me hace falta una guía actualizada.


En una entrevista de trabajo.
Por ejemplo, he ido a entrevistas de trabajo. Para conexión a la base de datos. En una me dijeron que sea hacía con el String de Conexión. En cambio en otra empresa que usan algo llamado Linq y que casi no se usa el String de conexión.

En ciertas empresas usan "Capas" en tanto en otras empresas "MVC".
Por otro lado, para programar las clases, módulos, etc está Visual Basic pero también C#


Así mismo, en Internet, he encontrado variedad de herramienta tecnológicas que Microsoft ha desarrollado con énfasis en Web. Por ejemplo, para web:

1. ASPX (lenguaje de servidor).
2. C#. Supongo que Visual Basic es meno usado a la fecha.
3. Linq, para conexión a la Base de datos.
4. ¿Capas o MVC? ¿Qué es lo más actual en julio del 2015?


Mi especialidad es Web. Conozco los estándares web como HTML 5, CSS, Javascript y otras más. Pero para desarrollar Web con tecnologías de Microsoft (.NET)...

¿Qué me recomiendan ?
Solo pido ayuda con nombres generales y yo me encargaré de investigar. Hice este "post" porque necesito una guía de un profesional(Senior en .NET) y que por favor me pueda dar una recomendación.

Gracias.
__________________
Loading...
  #2 (permalink)  
Antiguo 31/07/2015, 14:47
(Desactivado)
 
Fecha de Ingreso: enero-2015
Mensajes: 393
Antigüedad: 9 años, 3 meses
Puntos: 52
Respuesta: * A la fecha, ¿cuáles Herramientas WEB en .NET me recomiendan aprender ?

A ver, aclaremos un poquito el panorama:

Cita:
Iniciado por ghidalgoram Ver Mensaje
Tengo experiencia como Desarrollador Web, tanto Front End como Back End pero ha sido con tecnologías "Open Source" como PHP
En primer lugar, vamos dejando de lado esa distinción vacía entre "tecnologías de Microsoft" y "open source", ya que el 100% del stack Web de Microsoft es (ya hace años) completamente open source.

En segundo lugar, cuáles son "otras más"? Solo tenés experiencia en PHP?

Te comento que PHP en particular es, en mi opinión, una tecnología HORRENDA con la cuál NO SE PUEDEN HACER BIEN LAS COSAS, por motivos que no vienen a cuento, con lo cuál si vas a trabajar en una plataforma profesional como .Net, te conviene olvidarte de todo lo que aprendiste en PHP porque desde el vamos está mal.

Ahora bien, tu pregunta con respecto al Stack no tiene una respuesta específica posible. Existen muchas formas de hacer las cosas y el conjunto específico de tecnologías que necesitás manejar depende mucho del lugar donde vayas a trabajar.

Lo que puedo hacer es orientarte para que entiendas qué es cada cosa y así puedas buscar más información y finalmente decidir por tu propia cuenta en qué conjunto de tecnologías especializarte:

.NET Framework: es una plataforma de desarrollo de software moderna, robusta, rápida y escalable. Cuenta con un entorno de ejecución propio conocido como CLR, el cuál ejecuta el código de manera controlada, y proporciona servicios de base tales como el Compilador JIT y el GC. El código que se ejecuta en un entorno de .NET se conoce como "Código Administrado", o "Managed Code" en inglés.

Adicionalmente, el CLR provee un sistema de base llamado Common Type System, que es un sistema de tipos compartido por todos los lenguajes compatibles con .Net, permitiéndo que la interoperabilidad sea prácticamente transparente entre los mismos.

El .NET Framework también cuenta con un gran número de librerías que proporcionan acceso a las funcionalidades del sistema desde simples manejos de texto hasta servicios de Red. Esta librería es conocida como BCL, o Base Class Library.

Equivalencia con PHP: PHP no tiene un equivalente al .NET Framework. El runtime de PHP es infinitamente más limitado que el .NET Framework y no tiene casi ninguna de las optimizaciones que existen en .NET. Por ejemplo, PHP no tiene JIT, no tiene un common type system, porque no interopera con ningun otro lenguaje, y de hecho ni siquiera tiene un type system propio, que se pueda considerar decente.

El equivalente en PHP de la BCL es la SPL. La diferencia es que en PHP tenés un montón de funciones sueltas, con nombres horribles, totalmente inconsistentes, todas desparramadas por cualquier lado sin ningún respeto por el orden, mientras que la BCL de .NET es un conjunto de librerías desarrolladas por profesionales, que mantienen un alto nivel de consistencia tanto en nombres de funciones, argumentos, como en sus valores de retorno y comportamiento ante errores.

C#: Es un lenguaje de programación moderno, multi propósito, multi paradigma. El código C# se ejecuta dentro del entorno de .NET. C# posee características que lo hacen un lenguaje tremendamente productivo para todo tipo de software, desde pequeños utilitarios o aplicaciones de consola, hasta grandes sistemas distribuidos, pasando por juegos y aplicaciones de negocios de todo tipo.

A diferencia de PHP, C# es un lenguaje de programación profesional, serio, y que no está limitado a su uso en aplicaciones web.

ASP.NET es la plataforma base de .NET para ejecución de aplicaciones y servicios Web. Provee una serie de abstracciones que permiten crear programas que ejecutan intercambios HTTP.

ASPX es la extensión de las páginas web generadas utilizando ASP.NET WebForms. Es un framework viejo para creación de aplicaciones web que trata de enmascarar de alguna forma la naturaleza "stateless" de la web y hacer pensar al desarrollador que los controles visuales en HTML de alguna forma pueden ser afectados por código del lado del servidor, en runtime. Tuvo su auge hace más de 10 años ya que era una forma para que los desarrolladores que no conocían el paradigma web pudieran escribir aplicaciones de este tipo. Su uso en la actualidad fue supercedido por ASP.NET MVC.

ASP.NET MVC: es un framework MVC implementado sobre ASP.NET. Es el método recomendado actualmente para crear aplicaciones web sobre .NET. Provee un modelo con separaciones adecuadas entre las distintas capas o componentes del sistema. (A diferencia de PHP que es muy poco profesional y estimula el uso de practicas terriblemente malas como poner el SQL junto con el HTML)

LINQ: Es un conjunto de extensiones de los lenguajes C# y VB.NET, que proveen una forma consistente de ejecutar operaciones diferidas contra collecciones de datos.

LINQ no tiene nada que ver con bases de datos, ni con connection strings, ni nada de eso. Es una característica del lenguaje.

LINQ provee una API con la cuál se puede hacer introspección del código de usuario y manipular o convertir el AST. En esto se basa por ejemplo, LINQ To Entities, que es una implementación de LINQ sobre el ORM Entity Framework, que traduce las consultas de LINQ a instrucciones de SQL para ser ejecutadas en motores de bases de datos.

Cita:
Iniciado por ghidalgoram Ver Mensaje
¿Capas o MVC?
Tu pregunta muestra una enorme falta de fundamentos y conceptos de programación básicos, es decir, una condición típica de alguien que trabaja en PHP.

MVC significa Model, View, Controller. Estas son capas. También hay otras capas como la capa de acceso a datos, que en el contexto de una aplicación web generalmente se engloba en el Model, o la capa de comunicaciones, si estás hablando de una aplicación distribuida.

En fin, mi recomendación más allá de la tecnología en particular es que te pongas a leer sobre patrones de arquitectura y de diseño, todas cosas que están completamente ausentes en la programación PHP, pero que sí están presentes en la programación profesional.

Bienvenido al lado feliz del Desarrollo de Software.
  #3 (permalink)  
Antiguo 31/07/2015, 14:53
Avatar de Malenko
Moderador
 
Fecha de Ingreso: enero-2008
Mensajes: 5.323
Antigüedad: 16 años, 3 meses
Puntos: 606
Respuesta: * A la fecha, ¿cuáles Herramientas WEB en .NET me recomiendan aprender ?

Creo que llevas un poco de lío, así que antes de nada te quisiera aclarar unos cuantos conceptos y luego podré contestare mejor a tu pregunta.

Para empezar .NET es en la actualidad casi en su totalidad Open Source. Sobre el tema de conexión a base de datos, LINQ "no sirve" ya que sirve para manipular objetos en general, no para establecer una conexión contra una BBDD. Para base de datos has de usar ADO.NET o Entity Framework (que seguramente es lo que te comentaron en la entrevista de trabajo que explicas). Lo de utilizar capas es por usar buenas prácticas de programación. Ahora la moda es usar DDD para programación de backend y MVC para el frontend (ya sea en javascript mediante angularJs o mediante C#). Para terminar, en lo que hay más mercado y pagan mejor es en programación de C#, así que si estas "empezando" yo optaría por él.

En cuanto a la lista:
- C#
- ADO.NET
- ASP.NET
- WebServices

Cuando eso lo tengas por la mano, puedes optar por:
- Entity Framework
- MVC 5
- API Rest

Como mucho podrías saltar de asp.net directamente a mvc, el resto creo que sería el orden de menor dificultad a mayor, más o menos.... porque entity framework es mucho más sencillo de usar que ado.net pero no te recomendaría aprender entity sin saber antes ado.net (como opinión personal).
__________________
Aviso: No se resuelven dudas por MP!
  #4 (permalink)  
Antiguo 03/08/2015, 23:38
Avatar de ghidalgoram  
Fecha de Ingreso: marzo-2008
Ubicación: Costa Rica
Mensajes: 446
Antigüedad: 16 años, 1 mes
Puntos: 7
De acuerdo Respuesta: * A la fecha, ¿cuáles Herramientas WEB en .NET me recomiendan aprender ?

Saludos colegas.
Gracias por tomarse el tiempo en describir y orientarme con su conocimiento en .NET

Continuo con un proceso más ordenado de aprendizaje, gracias a sus respuestas.

agleiva, muy agradecido por tu explicación sobre los conceptos de . NET
Ha sido muy importante tu aporte, muchas gracias colega.
Ya con esta información, tengo una guía ordenada para continuar el aprendizaje.


Código HTML:
"estimula el uso de practicas terriblemente malas como poner el SQL junto con el HTML"
No se si te lo contaron o tuviste la experiencia de trabajar con PHP.
En buenas prácticas de PHP, no se usa SQL dentro del HTML, jamás. Actualmente, Para eso hay Frameworks respetados como Laravel. Pero mi intención es solo aclararte y no debatir cuál es mejor y cual es peor je je

En todo hay "Pros" y "Contras".
Hay excelentes cambios que Microsoft ha hecho y está haciendo y eso me gusta mucho. A nivel profesional, creo que me va dar una cuota muy importante. Ojalá que Microsoft continue innovando. También Google con sus productos.
El navegador "Microsoft Edge" que no sea como Internet Explorer


Importante
Amigo, me parece que parte del secreto es "conocer" y aprovechar lo positivo de una determinada tecnología. Pero también conocer las debilidades y saber como "fortalecerla".

Ahora todo cambia tan rápido, que hoy se trabaja con X tecnología y mañana será con Y.



Malenko, gracias por tu ayuda.


Código HTML:
Para terminar, en lo que hay más mercado y pagan mejor es en programación de C#, así que si estas "empezando" yo optaría por él.

Al igual que tú, un amigo (programador experimentado en .NET) me recomendó iniciar con C#. Entonces, ya estoy aplicando la recomendación. El "mundo de la tecnología", cambia rápidamente y es importante "apuntar" donde hay "más mercado", tal como lo indicas y en ese aspecto, coincido mucho con tu opinión.

Yo programé un poco de Visual Basic 6.0 y algo mínimo de Visual Fox Pro. Y un año después salió el .NET. Luego, no volví a usar ningún producto de Microsoft, sino hasta ahora. Por eso indicaba, que mi conocimiento en herramientas de Microsoft es muy poco. Ahora, con la guía que me han brindado, empezaré a prepararme.


Gracias a los dos. De verdad, muy valioso sus recomendaciones.
Les deseo muchos éxitos en todo. Gracias por ayudarme
Saludos
__________________
Loading...

Etiquetas: c#, microsoft
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:26.