Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: NoaC en 17 Mayo 2017, 21:53 pm



Título: ¿Cuál sería el mejor IDE(más intuitivo, más completo) para crear aplicaciones
Publicado por: NoaC en 17 Mayo 2017, 21:53 pm
Buenas!!

Hace muchos, muuuuchos años, programé en lenguajes como C, C++, java, python....
Tantos años que hoy día ando más perdida que una aguja en un pajar.

La cosa es que me han propuesto un proyecto y, por sus características y las funciones que va a presentar, me han recomendado que lo haga en C#

Mi duda inicial(habéis leído bien, inicial :rolleyes:) es...
¿Cuál sería el mejor IDE(más intuitivo, más completo) para crear aplicaciones que van a ser vendidas? Sin problemas por licencias, están cubiertas por el proyecto. ¿
Qué versión de C# usar? He leído que hay distintas versiones...

Gracias por el empujoncillo. Saludos!

Engel Lex: Los titulos deben ser descriptivos al problema, modificado


Título: Re: ¿Cuál sería el mejor IDE(más intuitivo, más completo) para crear aplicaciones
Publicado por: Eleкtro en 17 Mayo 2017, 22:27 pm
¿Cuál sería el mejor IDE(más intuitivo, más completo) para crear aplicaciones que van a ser vendidas? Sin problemas por licencias, están cubiertas por el proyecto. ¿
Qué versión de C# usar? He leído que hay distintas versiones...

Las opciones profesionales (las únicas de las que merece la pena hablar) son escasas, por un lado Visual Studio, y por el otro SharpDevelop, o dicho de otra forma: la IDE oficial, y la no oficial (la cual además utiliza su propio compilador multiplataforma, Mono, el cual es limitado en comparación). No te lo pienses ni por un segundo, no cometas el error, usa Visual Studio 2017 (edición profesional). De vez en cuando en este tipo de preguntas suelo decir que Visual Studio es la IDE más completa y sofisticada del mundo de la programación, y cuando digo esto no me estoy refiriendo al entorno de la plataforma .NET, sino a Visual Studio como IDE, en general. Cuando la pruebes y descubras todas sus funcionalidades y la manera en que Microsoft tiene de guiarte por ellas y de representar cada funcionalidad junto a la información, y todas las facilidades que le ofrece al usuario/programador, entonces podrás comparar con el resto d eIDEs, quedarás encantado y verás que no exagero al decir que VS es la mejor IDE de todas... en todos los aspectos posibles e imaginables, jeje. (aunque esto solo es mi opinión personal al fin y al cabo)

Con respecto a la versión de C#, teniendo en cuenta que tu propósito es introducirte en C# desde cero, entonces la versión que utilices no importa en absoluto. Los cambios entre las versiones de C# son sintácticos, y además de eso, adaptativos, esto quiere decir que el compilador de C# no te obliga a usar las mejoras actuales de sintaxis de la última versión, sino que puedes seguir usando una sintaxis desactualizada sin problema.
Así que, a menos que tú vayas a usar una versión antigua de Visual Studio/C# (algo que de por si no tendría mucha lógica hacer), y te encuentres con un código fuente que ha sido desarrollado en una versión más actual de C# y que además esté usando las mejoras de sintaxis de esa versión y por ende debas degradar/corregir esos cambios para que el compiler antiguo reconozca la sintaxis, entonces no hay nada por lo que preocuparse.

Más importante que la versión de Visual Studio/C#, es la versión objetivo de los runtimes de .NET Framework que vas a soportar, y por ende, la versión en la que va a poder correr tu executable compilado, y eso limitará también los miembros/funcionalidades que puedes utilizar de la librería de clases de .NET Framework al desarrollar el código. Si vas a vender productos, entonces yo te recomendaría utilizar como mínimo .NET Framework 4.0, esto es una decisión de vital importancia para aumentar la compatibilidad con los equipos que se instalen tus productos ...y así no obligarle al consumidor a descargarse .NETFx 4.6.2 solo para usar tu producto, por ejemplo. Otras personas quizás te dirán que la v3.5 es la más compatible, o mejor dicho la más estandarizada en equipos con Windows, bueno, hace tiempo era así con la estandarización de Windows 7, pero ahora en los tiempos actuales donde la gran mayoría de personas usan Windows 8.1 o Windows 10, eso ha cambiado. Lo que debes tener muy en cuenta es que las funcionalidades de la librería de clases de .NET Framework v3.5 son MUCHO más escasas o limitadas que la v4.x, son cambios muy drásticos entre esas dos versiones, en la v4.0 se puede usar una cantidad invaluable de miembros que no existen en la v3.5 (y por ende, deberás desarrollar un código más feo), y la v3.5 lleva algunos años en stand-by, a punto de volverse oficiálmente obsoleto ...al mismo tiempo que lo haga Windows 7 consigo (cosa que ya empezó en el 2015 decidiendo eliminar el soporte oficial de Microsoft para ese S.O.)

¡Saludos!


Título: Re: ¿Cuál sería el mejor IDE(más intuitivo, más completo) para crear aplicaciones
Publicado por: dato000 en 18 Mayo 2017, 21:28 pm
Buenas!!

Hace muchos, muuuuchos años, programé en lenguajes como C, C++, java, python....
Tantos años que hoy día ando más perdida que una aguja en un pajar.

La cosa es que me han propuesto un proyecto y, por sus características y las funciones que va a presentar, me han recomendado que lo haga en C#

Mi duda inicial(habéis leído bien, inicial :rolleyes:) es...
¿Cuál sería el mejor IDE(más intuitivo, más completo) para crear aplicaciones que van a ser vendidas? Sin problemas por licencias, están cubiertas por el proyecto. ¿
Qué versión de C# usar? He leído que hay distintas versiones...

Gracias por el empujoncillo. Saludos!

Engel Lex: Los titulos deben ser descriptivos al problema, modificado


(https://venturebeat.com/wp-content/uploads/2015/06/visual_studio_purple.png?fit=930%2C462&strip=all)

Aunque personalmente prefiero la versión 2013, la ultima versión traga memoria de una manera horrenda. Y la versión 2015 simplemente la aborrezco.

Respecto a compiladores, pues cualquier tecnologia .NET sirve, que si es 3.5, o 4, o 4.5, o 4.5.1 o 4.5.x... solo empieza a programar y cuando compiles sabras que versión se ajusta a tus necesidades, normalmente trabajaras con la 4.5.

ahora si quieres hacer negocio, pues si el desarrollo lo haces tu mismo, pues te sale gratis, pero ya para el momento de subir el proyecto a la nube, empieza a pensar en tarifas de hosting y mantenimiento, o cronograma de entrega, y si tienes clientes, pues ve midiendo requerimientos, posterior soporte......y pues eso cuesta, siempre.


Título: Re: ¿Cuál sería el mejor IDE(más intuitivo, más completo) para crear aplicaciones
Publicado por: NoaC en 21 Mayo 2017, 16:37 pm
Gracias chicos!

Habéis aclarado mi duda principal.

Lo de los frameworks y eso no sé aún de qué va, pero supongo que irá saliendo con el proyecto.

dato000, a mí me pagan por desarrollar, el tema de las ventas y tal lo lleva el empresario. El hosting es vital, es más, uno con gran capacidad de almacenaje de bases de datos.
Que, al respecto... Mysql o MariaDB?? He leído que Mysql va a dejar de actualizarse y que su sucesor es MariaDB

¿Qué es eso del cronograma de entrega?

Un saludo y hasta pronto!!


Título: Re: ¿Cuál sería el mejor IDE(más intuitivo, más completo) para crear aplicaciones
Publicado por: dato000 en 22 Mayo 2017, 16:11 pm
Gracias chicos!

Habéis aclarado mi duda principal.

Lo de los frameworks y eso no sé aún de qué va, pero supongo que irá saliendo con el proyecto.

dato000, a mí me pagan por desarrollar, el tema de las ventas y tal lo lleva el empresario. El hosting es vital, es más, uno con gran capacidad de almacenaje de bases de datos.
Que, al respecto... Mysql o MariaDB?? He leído que Mysql va a dejar de actualizarse y que su sucesor es MariaDB

¿Qué es eso del cronograma de entrega?

Un saludo y hasta pronto!!

Je frente a gustos, colores, yo me quedo con SQLServer. MariaDB y MySQL pues cumplen su función, pero tiran más para el lado de php, mmmm pero en esencia son lo mismo, que yo sepa, MySQL sigue muy vigente.


Citar
¿Qué es eso del cronograma de entrega?
Pues los plazos que tienes para entregar un desplegable, tus resultados, los tiempos de entrega. Dependiendo del proyecto a veces se programan por sprints o fases en las etapas de desarrollo, como determinadas areas que toma el desarrollo y validación de los ambientes. Por ejemplo, etapas de registro, logueo, persistencia de datos, validación de datos, podria considerarse una etapa o sprint, con un tiempo de entrega de tal vez 2 o 3 semanas, con su respectiva validación y corrección de errores.




Título: Re: ¿Cuál sería el mejor IDE(más intuitivo, más completo) para crear aplicaciones
Publicado por: Maurice_Lupin en 16 Junio 2017, 19:36 pm
Hola a todos, sólo para aportar otro punto de visto. Alguna vez utilicé el visual studio 2005, la verdad que era un buen IDE pero con el tiempo descubrí el sharpdevelop 2.2 (muy parecido al vs2005), me sorprendió por lo liviano menos 20mb . Para mis necesidades y mi pc fue más que suficiente.

También podrías usar un editor de texto y compilarlo manualmente  :D ya que el framework es gratis. No sé cuanto cuesta la licencia del vs pro actual, pero con el sharpdevelop te libras de este costo, también es open source.

No hago proyectos grandes, solo aplicaciones de escritorio, utilizo SQLite(lo utilizan firefox, chrome) como base datos local e ItextSharp para generar reportes en PDF, con esto se pueden hacer bellos reportes.

Al final el lenguaje, el framework no cambian, si tu proyecto no requiere alguna característica especifica del vs puedes usar el sharpdevelop.

Aquí un lista de comparación con vs 2010 express:
http://community.sharpdevelop.net/blogs/mattward/articles/VisualStudioExpressComparison.aspx

Saludos.



Título: Re: ¿Cuál sería el mejor IDE(más intuitivo, más completo) para crear aplicaciones
Publicado por: Eleкtro en 16 Junio 2017, 20:55 pm
La utilización de una IDE distinta a la que se proporciona de forma oficial por el desarrollador del framework (Microsoft) supone más desventajas que otra cosa. SharpDevelop MonoDevelop utiliza un compilador llamado Mono el cual es independiente al MSBUILD/csc de Microsoft, los autores de Mono deben ir actualizando cada cierto tiempo para intentar mantener el soporte de las versiones que Microsoft va publicando de .NET Framework, aunque lo cierto es que Mono todavía no soporta de forma completa ni siquiera la versión 2.0 de .NET Framework (la cual fue publicada en el año 2005), y actualmente soporta hasta la versión 4.6 de .NET Framework (actualmente ya van pro la 4.7 y con planes de lanzar la versión 5.0 antes de que acabe el año) y como ya digo no lo soporta de forma completa, puesto que además Mono no soporta todos los lenguajes soportados por Visual Studio/.NET Framework ni tampoco soporta tecnologías como WPF, de hecho los propios autores manifiestan que no tienen planes para llevvar a cabo dicho soporte...

  • http://www.mono-project.com/docs/about-mono/compatibility/
  • http://www.mono-project.com/docs/gui/wpf/

Aparte, la utilización de SharpDevelop/Mono perdió todo el sentido tras la aparición de .NET Core (de esto hace 1 año), una implementación reducida, multiplataforma y open-source de la librería de clases de .NET Framework hecha por Microsoft.

Por otro lado, si un programador desea trabajar con el lenguaje C# y solo para realizar códigos o aplicaciones muy puntuales, pues SharpDevelop MonoDevelop va bien, sería una elección como otra cualquiera (siempre que se tenga en cuenta las limitaciones que he mencionado debido a su limitado compilador Mono), no digo lo contrario, pero no se puede comparar con las ventajas de Visual Studio en ningún aspecto...

Saludos!


Título: Re: ¿Cuál sería el mejor IDE(más intuitivo, más completo) para crear aplicaciones
Publicado por: Maurice_Lupin en 17 Junio 2017, 20:46 pm
Hola, Eleкtro.

Aclaro Sharpdevelop no es Monodevelop. Tienes razón con respecto al proyecto Mono, es una iniciativa loable pero tiene sus carencias. Mono intenta crear un .NET Framework multiplataforma, Sharpdevelop sólo es un IDE de codigo abierto, es decir podemos meterle mano a un IDE muy parecido al Visual Studio 2005  ;D.

Con respecto a Sharpdevelop:
- Sharpdevelop sólo funciona en windows no es multiplataforma como Mono.
- Utiliza el msbuild para compilar.
- Se puede crear proyectos para Mono, son amigos.
- Ya tiene un diseñador WPF en sus ultimas versiones, esto se menciona en su sitio web y en la tabla comparativa que puse antes.


Alguna vez vi un ejemplo de como compilar manualmente código .Net en este foro (no sé si era tuyo), lo mismo hace Sharpdevelop. Así que animo a probar Sharpdevelop por ser liviano y eficiente

http://www.icsharpcode.net/opensource/sd/Default.aspx

Saludos.


Título: Re: ¿Cuál sería el mejor IDE(más intuitivo, más completo) para crear aplicaciones
Publicado por: Eleкtro en 18 Junio 2017, 04:56 am
@Maurice_Lupin

Coño, ¡es verdad!, tenía bien profundo metido en la cabeza que SharpDevelop era la misma cosecha de los autores de MonoDevelop, lo siento por la confusión y gracias por corregirme haciéndolo de forma respetuosa.

Entonces todo lo que dije en mi comentario es aplicable a la IDE MonoDevelop, no a SharpDevelop. Voy a editar aquél comentario que hice para añadir las correcciones...

Saludos!


Título: Re: ¿Cuál sería el mejor IDE(más intuitivo, más completo) para crear aplicaciones
Publicado por: Maurice_Lupin en 19 Junio 2017, 00:36 am
Eleкtro no hay de que  :)

Saludos.