• Compra una licencia de Windows 10/11 (9,5€) u Office (18,3€) al mejor precio u Office al mejor precio con CDKeyoffer. Entra en este post con las ofertas
  • ¡Bienvenid@! Recuerda que para comentar en el foro de El Chapuzas Informático necesitas registrar tu cuenta, tardarás menos de 2 minutos y te dará valiosa información además de ayudarte en lo que necesites o pasar un rato agradable con nosotros.

Empezar con el desarrollo web

Plexware_

Programador principiante.
Registrado
27 Sep 2020
Mensajes
8
Puntos
1
Muy buenas, como bien dice el título, busco consejos para empezar desarrolado web con .net core. Llevo 1 mes aprendiendo c# y bueno como final del curso he hecho algo con wpf y sql server. Tengo pensado seguir aprendiendo c# y profundizando y como mini proyecto y para practicar empezar en el desarrollo web con .net core. Por donde empiezo? Asp.net? asp.net mvc? Blazor? Debería aprender antes algo de front-end como html,css y JavaScript con react? La verdad es que estoy muy perdido con el desarrollo web, que debería saber antes de comenzar,etc... Por cierto, me gustaría dedicarme al back-end y no al front-end, aunque en realidad no he hecho ninguno de los dos. Por eso, tenía pensado empezar en c# y . net core con el desarrollo web y una vez tener claro cual me gusta mas de los 2, especializarme en uno de los dos, por ejemplo, si me decido por el backend, aprender node.js o Ruby,etc... En resumen, estoy muy confundido con el desarrollo web en general, ojalá alguien me pueda aclarar el "camino" para ser desarrollador web (como backend o frontend, ya que no lo tengo claro). Debería de "empezar de cero" para "comenzar" bien? Muchas gracias!
 
Última edición:
Lo primero de todo es para quien quieres trabajar, para ti mismo como freelance o entrar a trabajar en una empresa.
Porque como freelance tienes que aprender ambos perfiles frontend y backend y para una empresa te puedes especializar en backend como tú quieres.
El compañero @josejfernandez te puede orientar mejor en ese entorno de C# para desarrollo Web.
 
Lo primero de todo es para quien quieres trabajar, para ti mismo como freelance o entrar a trabajar en una empresa.
Porque como freelance tienes que aprender ambos perfiles frontend y backend y para una empresa te puedes especializar en backend como tú quieres.
El compañero @josejfernandez te puede orientar mejor en ese entorno de C# para desarrollo Web.
Me gustaría trabajar para una empresa. He leido un poco sobre asp.net core y asp.net mvc y veo que para el front se utiliza 'Razor', se podría utilizar otra como blazor o react? Sigo con c# y asp.net core mvc para back y después para el front aprendo html,css yJS con algun framework. O comienzo de "cero", comenzando con el front con lo anterior mencionado y después para back, comenzar con node.js o algn lenguaje de backend, bases de datos, etc...? Espero la respuesta del compañero @josejfernandez. Muchas gracias por responder!
 
Última edición:
Gracias por la invocación (y). Siempre que quieras hacer cosas en la web yo creo que lo ideal es empezar aprendiendo cosas de HTML y HTTP. Aunque vayas luego al backend.

Para ello puedes hacer una aplicación básica con ASP.NET Core que tenga formularios, para que te ayuden a entender los métodos básicos de HTTP (esto puedes acompañarlo leyendo la teoría). La aplicación de ejemplo que se crea en Visual Studio ya tiene toda esa funcionalidad. Puedes investigarla o modificarla, pero no te recomendaría que te saltaras este paso.

Pulsando F12 en tu navegador aparecerá un panel de desarrollador. Te recomiendo que te familiarices con él, aunque vayas luego al backend. Claves a tener en cuenta: lo ya mencionado de HTTP y todo lo que tenga que ver con peticiones y respuestas (en Firefox está bajo la pestaña "Red", en Chrome ni idea).

No te recomiendo que te detengas a revisar todo esto a nivel teórico sino que nunca dejes de echarle un vistazo mientras desarrollas, siempre consultando cualquier cosa que dudes. Ejemplo: "Anda, le mando una petición y tiene el cabecero X, ¿por qué?" Pues te investigas cómo recibes ese cabecero en .NET, qué significa el cabecero, etc. Lo mismo para los cabeceros que envíe la respuesta.

¿Por qué todo eso? Porque vas a desarrollar en un contexto web. Se hace necesario que entiendas dicho contexto. El lenguaje de la web es HTML y HTTP. No necesitas conocer las RFCs pero por lo menos saber qué hace un formulario para enviar datos, qué son los cabeceros, qué significan, etc.

Cuando sepas hacer eso, pon un par de JavaScript básicos (aquí da igual lo que hagan, un alert('Hola mundo') es suficiente). Ponlos inline (con etiquetas script), remotos con src (aprenderás cómo funcionan las rutas remotas), asíncronos, síncronos... Lo que no sepas, investígalo.

En .NET, Razor es la tecnología que genera HTML a partir de C#. No es un framework de frontend, ni reemplaza a React, Angular o Vue. Ahora prueba a meterle un framework sencillo (copia y pega del tutorial de Vuejs) en tu app .NET con Razor. Verás que puedes ponerlo todo junto.

Una vez hayas visto todo eso (no es cuestión de un día), tendrás el contexto básico para ser desarrollador web... Ya puedes ponerte a tope con C# :p

Un último apunte. Independientemente de la tecnología o lenguaje que utilices, al final lo importante es entender el contexto y los patrones generales. Saber todo lo anterior te servirá en todas las plataformas. Después mi consejo es que te centres en un stack. ASP.NET Core es muy bueno, está en plena ebullición y no es una moda pasajera. No aprendas por aprender, lo importante es que sepas solucionar y resolver. Aprender más lenguajes lo puedes hacer con el tiempo.
 
Gracias por la invocación (y). Siempre que quieras hacer cosas en la web yo creo que lo ideal es empezar aprendiendo cosas de HTML y HTTP. Aunque vayas luego al backend.

Para ello puedes hacer una aplicación básica con ASP.NET Core que tenga formularios, para que te ayuden a entender los métodos básicos de HTTP (esto puedes acompañarlo leyendo la teoría). La aplicación de ejemplo que se crea en Visual Studio ya tiene toda esa funcionalidad. Puedes investigarla o modificarla, pero no te recomendaría que te saltaras este paso.

Pulsando F12 en tu navegador aparecerá un panel de desarrollador. Te recomiendo que te familiarices con él, aunque vayas luego al backend. Claves a tener en cuenta: lo ya mencionado de HTTP y todo lo que tenga que ver con peticiones y respuestas (en Firefox está bajo la pestaña "Red", en Chrome ni idea).

No te recomiendo que te detengas a revisar todo esto a nivel teórico sino que nunca dejes de echarle un vistazo mientras desarrollas, siempre consultando cualquier cosa que dudes. Ejemplo: "Anda, le mando una petición y tiene el cabecero X, ¿por qué?" Pues te investigas cómo recibes ese cabecero en .NET, qué significa el cabecero, etc. Lo mismo para los cabeceros que envíe la respuesta.

¿Por qué todo eso? Porque vas a desarrollar en un contexto web. Se hace necesario que entiendas dicho contexto. El lenguaje de la web es HTML y HTTP. No necesitas conocer las RFCs pero por lo menos saber qué hace un formulario para enviar datos, qué son los cabeceros, qué significan, etc.

Cuando sepas hacer eso, pon un par de JavaScript básicos (aquí da igual lo que hagan, un alert('Hola mundo') es suficiente). Ponlos inline (con etiquetas script), remotos con src (aprenderás cómo funcionan las rutas remotas), asíncronos, síncronos... Lo que no sepas, investígalo.

En .NET, Razor es la tecnología que genera HTML a partir de C#. No es un framework de frontend, ni reemplaza a React, Angular o Vue. Ahora prueba a meterle un framework sencillo (copia y pega del tutorial de Vuejs) en tu app .NET con Razor. Verás que puedes ponerlo todo junto.

Una vez hayas visto todo eso (no es cuestión de un día), tendrás el contexto básico para ser desarrollador web... Ya puedes ponerte a tope con C# :p

Un último apunte. Independientemente de la tecnología o lenguaje que utilices, al final lo importante es entender el contexto y los patrones generales. Saber todo lo anterior te servirá en todas las plataformas. Después mi consejo es que te centres en un stack. ASP.NET Core es muy bueno, está en plena ebullición y no es una moda pasajera. No aprendas por aprender, lo importante es que sepas solucionar y resolver. Aprender más lenguajes lo puedes hacer con el tiempo.
Muchas gracias por responder, la verdad es que estoy muy confuso, creo que empezaré a dar mis primeros palos por el desarrollo web con el lenguaje que ya he empezado a estudiar (C#) hacer una web basica e ir empezando. Tras investigar por páginas y videis he visto que mucha gente recomiendan que para empezar en el backend, antes debería de saber lo básico de front con html,css y JS, después de eso seguiré con git y el stack M.E.R.N o algún stack relacionado con Node.Js y Express, ya que me llaman bastante la atención, aprender bases de datos sql y nosql, etc... O eso tengo en mente, que opináis? Ya que no se porqué siento que he empezado "mal" en el desarrollo, un poco perdido mejor dicho y siento que lo "mejor" seria "comenzar" de """"cero"""". Muchas gracias!
 
Creo que intentas abarcar demasiado. Estás empezando y la mejor forma de empezar es aprender los fundamentos (lo que expuse en el mensaje anterior).

Tú mismo lo dices: estás confuso. Eso es normal porque el contexto web es complejo. No es hacer un hola mundo y ya sabes desarrollo web. Muchos programadores que ya saben programar con cierto nivel se pierden en el mundo web. En estos momentos opino que debes empezar a despejar dudas, paso a paso, por el principio.

Insisto en mi recomendación del mensaje anterior: empieza con HTML, a entender lo que son las peticiones, los cabeceros, content types, qué es un servidor web, cuáles hay, qué hacen... Vete poco a poco, explorando cada elemento nuevo que veas. Averigua qué es un parámetro GET, qué es el cuerpo de la petición o cuándo debes usar GET o POST. Qué es urlencode, cómo envía información un formulario, qué es JSON...

Todos los consejos que le di a otro forero en este post te sirven:


Si lo que ves ahí te está sonando a chino, aprender estos conceptos es el mejor punto de partida. Ya que vas a ser desarrollador y además de backend, pienso que no necesitas saber nada acerca de CSS (es para dar estilo visual), pero sí necesitas saber todo lo que hemos comentado hasta ahora.

Todo esto te servirá en cualquier stack. Por ahora la programación como ves prácticamente no es ni siquiera necesaria. Después de que sepas esto ya podrás plantearte stacks. Node y Ruby suenan muy bien porque son la moda, pero no decidas en base a eso.
 
Creo que intentas abarcar demasiado. Estás empezando y la mejor forma de empezar es aprender los fundamentos (lo que expuse en el mensaje anterior).

Tú mismo lo dices: estás confuso. Eso es normal porque el contexto web es complejo. No es hacer un hola mundo y ya sabes desarrollo web. Muchos programadores que ya saben programar con cierto nivel se pierden en el mundo web. En estos momentos opino que debes empezar a despejar dudas, paso a paso, por el principio.

Insisto en mi recomendación del mensaje anterior: empieza con HTML, a entender lo que son las peticiones, los cabeceros, content types, qué es un servidor web, cuáles hay, qué hacen... Vete poco a poco, explorando cada elemento nuevo que veas. Averigua qué es un parámetro GET, qué es el cuerpo de la petición o cuándo debes usar GET o POST. Qué es urlencode, cómo envía información un formulario, qué es JSON...
.....
@Plexware_ , lo que te dice el compañero es totalmente cierto, en mi caso tuve que aprender esto sobre la marcha mientras desarrollaba un Website.

Sea cual sea el lenguaje que uses para programar, necesitas saber que es GET, POST, JSON, asíncrono, etc... El enlace que te ha puesto es muy bueno para empezar aprender. Hazle caso y no te arrepentirás.

Sobre CSS que es la presentación de tu Web, en mi caso tiro de los frameworks más conocidos, utilizo mucho Bootstrap y ahora estoy experimentando con Skeleton. Si no te gusta, tienes muchas alternativas como Foundation, Pure, etc... para aburrirte.
 
Arriba