2010-01-17 14 views
7

Debo decir por adelantado que esta no es una pregunta estrictamente relacionada con la programación y muy obstinada. Soy el desarrollador principal de .Net CMS dominante en mi país y no me gusta mi propio producto :). Las decisiones gerenciales sobre lo que es importante o no y los grandes fragmentos de código heredado antes de que me uniera me da dolor de cabeza todos los días que voy a trabajar. De todos modos, con una vasta experiencia en la industria web y un buen conocimiento de C# y las prácticas de programación, estoy diseñando mi propio CMS en los últimos meses. Ahora el problema es que soy un chico de código abierto así que tengo un dilema. ¿Debo usar C# y .Net, que ha paralizado el soporte multiplataforma o debería dejar .Net por completo y empezar a aprender Java, donde puedo crear un CMS verdaderamente de código abierto y multiplataforma? No responda que debería contribuir a un CMS de código abierto existente. Lo descarté después de pasar mucho tiempo buscando algo similar en estructura a lo que tengo en mente.Open Source CMS (.Net vs Java)

No soy un hablante nativo, así que siéntase libre de corregir mi sintaxis o reformular mi pregunta.

+0

Esto es muy subjetivo, pero ** no ** argumentativo, conviértalo en wiki comunitario y la pregunta probablemente no se cerrará. Una buena pregunta en mi opinión también y requiere un tiempo para pensar antes de responder. – Esko

+0

Ok, lo hice wiki comunitario. Gracias por la sugerencia. – CmsAndDotNetKindaGuy

+0

¿Por qué los votos a favor? Por favor deja un comentario. – CmsAndDotNetKindaGuy

Respuesta

2

Me centraría en C# y .NET usando solo bibliotecas mono compatibles multiplataforma.

Su código podrá ejecutarse en la gran mayoría de las plataformas de esa manera.

+0

¿Puedes explicar por qué te apegas a .Net? ¿No es Java una mejor alternativa? La única razón por la que veo usar C# es mi experiencia. – CmsAndDotNetKindaGuy

+0

Como dijo que tiene experiencia en .Net y C#, sería una pérdida de sus habilidades y de TIEMPO invertido en ella. Java es una alternativa, pero no es una garantía de una mejor solución. Es solo otra tecnología simultánea que puedes usar. También puede argumentar que si PHP, Python u otros no son mejores de usar. Creo que lo que más importa (en su caso) es su experiencia en la construcción (diseño, arquitectura, ...) CMS de la cual puede aprender y crear una mejor. – yojimbo87

1

Comenzaré partiendo de la suposición de que tanto .NET como Java tienen infraestructuras de soporte grandes y equivalentes, API, etc. Usted tiene un amplio conocimiento de .Net y necesitaría aprender los equivalentes de Java de algún subconjunto de eso con el fin de implementar en Java.

Valoro aprender algo completamente nuevo, así que no veo un problema fundamental para Java. Pero, si la "huella" de lo que necesita aprender es muy extensa, puede obstaculizar sus objetivos reales, que es construir algo.

Así que creo que una gran pregunta es el tamaño de su espacio de aprendizaje de CMS. Supongo que un CMS tiene mucho que ver con la lógica y las estructuras de datos, y probablemente solo use un pequeño conjunto de API de Java: ¿red y archivo io, o bases de datos? ¿Alguna interfaz de usuario podría ser plataforma neutral Javascript/AJAX quizás?

La alternativa principal parece ser Mono. No puedo hablar sobre los aspectos prácticos de trabajar bajo Mono, supongo que está bastante bien. Me preocuparía más si la gama de plataformas es suficiente para ti. iSeries, por ejemplo, ¿es compatible? eso te importa?

Mi predisposición personal es que las emulaciones tienden a ser insatisfactorias, siempre hay un problema. Así que iría por Java. Pero luego soy un chico de Java ...

0

No estoy seguro de por qué usarías C# o Java para este proyecto en particular. No soy tan versado en diseño de CMS como podría ser, pero conozco C# bastante bien, y es difícil para mí ver qué ventajas ofrece C# sobre Python en este dominio de problemas, especialmente dadas las estructuras sólidas como Django y Pylons como punto de partida punto. (Mi conocimiento de Java es ... débil). ¿Qué elementos específicos del diseño harían que C#/Java sea una mejor opción?