Si las licencias fueran gratuitas, ¿cuáles serían las desventajas de usar la pila de Microsoft para un sitio web?

Creo que la pregunta no es buena, ya que hay preguntas negativas “fáciles” para cada pila. “Rails es lento”, “Seaside es oscuro”, “Scala requiere demasiado coeficiente intelectual”, “.NET cuesta dinero”, etc. Dicho esto, existen algunas desventajas en el uso de MS stack. No es 100% gratuito, aunque cada vez es mejor y más libre (como libre, no gratis). El .NET Framework gira cada 18 meses más o menos, en lugar de mensualmente como algunas plataformas. Si bien no es necesario para el desarrollo, Visual Studio es el estándar y algunos lo perciben como “pesado”.

Licencias – A la pregunta original sobre Licencias. Microsoft claramente quiere que ejecutes Windows. Eso es básicamente todo. ASP.NET, IIS y ASP.NET MVC son todos gratuitos. No hay licencias para los marcos, y la versión gratuita de Visual Studio es extremadamente competente. Personalmente, he desarrollado y promovido docenas de sitios web utilizando solo herramientas de desarrollo de MS gratuitas y de código abierto.

Lenguaje dinámico vs tipeado: sí, los lenguajes dinámicos son increíbles. Hay algunas características dinámicas nuevas en C # 4, pero es un híbrido, para estar seguro. Hay muchas cosas dinámicas salpicadas en ASP.NET MVC y el motor de visualización Razor. Yo diría que es 75% estático y 25% dinámico. Por lo general, los programadores más “alfa-geek” usan las características más dinámicas. Además, LINQ es una alegría.

Escala: los beneficios de usar el CLR (en parte debido a su herencia estática) es que se escala increíblemente. StackOverflow realiza más de 100 millones de PV al mes con tiempos de respuesta por segundo en algo como 3 a 6 servidores. Nunca he visto otros marcos empujar ese tipo de volumen en un desembolso de hardware tan pequeño. Dicho esto, son tipos muy inteligentes, así que tenlo en cuenta. Aún así, .NET escala, y personalmente puedo dar fe de que ha trabajado en varios de los 10 principales sitios web de Banca de los EE. UU.

Implementación : Obviamente, MSFT está haciendo un mal trabajo explicando la historia de la implementación porque hay un efecto de bola de nieve que dice que la implementación en ASP.NET es una mierda. Simplemente no es verdad. Hay cierta sintaxis barroca, claro, pero no más que la sintaxis barroca encontrada en cualquier otro marco. Implementamos en en 20 servidores con RoboCopy y PowerShell. No era ciencia espacial. Es un guion. AppHarbor lo hace aún más fácil.

Lo último y lo mejor: es posible que la comunidad de EM no siempre haya estado a la vanguardia, pero tenemos una comunidad más comprometida y entusiasta de lo que creo que recibimos crédito. También tenemos un gran ecosistema de herramientas. Por ejemplo, aquí hay una buena herramienta gratuita Sass + Less + CoffeeScript que agrega soporte para todo esto en Visual Studio. http://www.mindscapehq.com/blog/…

Apoyo comunitario: este es un argumento perdido. Cada comunidad es diferente. Cada estereotipo existe en cada comunidad.

Dirección de la comunidad – Bueno, por ahora, ese soy yo. Ejecuto comunidad para plataforma web y herramientas. Estamos empujando y empujando duro. Se están haciendo cosas y el gran barco está girando. En cuanto a IronRuby y IronPython, sí, eso apestaba. No era nuestro equipo y era cojo. Sin embargo, el trabajo sigue marchando. IronPython acaba de lanzar su RC1 con soporte para IronPython y CPython la semana pasada: http://pytools.codeplex.com.

Desventajas: en este momento, algunos equipos de Microsoft no lanzan software tan rápido como otros, o no están usando ágil (Scrum), por lo que la herramienta MS no siempre admite lo último y lo mejor (ver arriba). Verá más innovación “vanguardista” proveniente de la comunidad y las herramientas de OOS.

En conclusión, y para ser claros. No soy un vendedor y no me importa si usas nuestra pila o no. Usa lo que te hace feliz. Pruebe las diferentes pilas, incluidas las nuestras, incluidas Rails, así como Seaside, Django, etc. Utilice la que alimenta su espíritu y lo hace sentir satisfecho y productivo. Si es el marco de MS, entonces mi equipo ha hecho algo bien.

Habiendo usado tanto Rails como MVC, diría que no hay ninguna desventaja seria desde una perspectiva técnica para ninguno de los dos. También diría que ambos sufren las mismas desventajas, es decir, tener demasiada complejidad oculta a la vista. Claro, estos marcos son excelentes para crear sitios web de manera rápida, ya que cubren todo el trabajo duro para usted y le permiten concentrarse más en su modelo de negocio, pero tiene un precio.

En algún momento, tendrá que ingresar a su plomería, ya que su empresa requiere una solución única, debe trabajar con socios externos de una manera que no sea compatible con el marco elegido, etc. MVC lo vincula con los productos de Microsoft y con Microsoft. de la vida: si bien proporciona cierta extensibilidad, las limitaciones son más estrictas y pueden conducir más fácilmente a “romper” el marco.

Por lo tanto, puede optar por pagar ahora o pagar más tarde si su empresa depende de procesos comerciales complejos en línea. Algunas empresas nunca llegarán a ese punto y, por lo tanto, un marco tiene más sentido. Nuevamente, no hay desventajas reales en mi mente. Claro que Ruby podría tener más apoyo de la comunidad, pero MVC es mucho más fácil de usar y generalmente resulta en muchas menos complicaciones dado su enfoque de denominador más bajo.

Dicho todo esto, si está creando una nueva empresa, debe pensar en las ramificaciones de los inversores del marco que se está utilizando. Actualmente tengo una compañía de tecnología emergente, IP Ghoster ( http://www.ipghoster.com ) que está construida con C # y C ++. Soy un experto en Microsoft, este trabajo fue increíblemente duro y desafiante, así que elegí la base de código que mejor conozco. Dada la naturaleza técnica profunda, ningún marco se aplicaría y poder construir la solución fue la clave del éxito.

Sin embargo, tengo una nueva puesta en marcha que será una pura jugada de redes sociales (descubrí cómo monetizar las redes sociales) y, por lo tanto, una gran parte del front-end involucrará la funcionalidad estándar del sitio web. Claro que hay elementos avanzados, pero la mayoría de ellos se escribirán en HTML 5 y tendrán muy poco efecto en la arquitectura general. Dado el área de redes sociales y el predominio de la programación de código abierto en esta área, hay pocas opciones más que usar programación de código abierto, marcos, etc.

¿Por qué? Es lo que los inversores esperan ver y lo que se sienten más cómodos al revisar. Esta nueva startup utilizará lo que la gente espera que haga, de lo contrario negaría las ventajas de construir una empresa en este espacio de alta demanda.

Para mí, ese es el factor determinante clave para cualquier startup y a menudo descuidado por los técnicos. Dentro de la industria elegida para su inicio, ¿qué están utilizando otras compañías? Dadas las escasas diferencias entre los marcos, esta es quizás la pregunta más importante. Si cree que los inversores no son lo suficientemente técnicos como para preocuparse, entonces debería pensar de nuevo. Es posible que no sepan cómo programar o todas las intrincadas diferencias entre los marcos, pero no es necesario que lo hagan. Al decidir entre las numerosas oportunidades que se les presentan constantemente, estos inversores optarán por las tecnologías que les resulten más familiares, lo que hará que la elección de un marco sea una ventaja distinta o una gran responsabilidad.