2010-01-17 2 views
7

Я должен сказать, что это не вопрос, связанный с программированием, и очень упрямый. Я ведущий разработчик доминирующей .Net CMS в моей стране, и мне не нравится мой собственный продукт :). Управленческие решения по поводу того, что важно или нет, и большие куски устаревшего кода, сделанные до того, как я присоединился, дают мне головную боль каждый день, когда я иду на работу. Во всяком случае, имея большой опыт работы в веб-индустрии и очень хорошо понимая C# и методы программирования, я разрабатываю собственную CMS последние несколько месяцев. Теперь проблема в том, что я парень с открытым исходным кодом, поэтому у меня есть дилемма. Должен ли я использовать C# и .Net, который искалечил многоплатформенную поддержку, или я должен полностью отказаться от .Net и начать изучать Java, где я могу создать действительно открытую и кросс-платформенную CMS? Пожалуйста, не отвечайте, что я должен внести свой вклад в существующую CMS с открытым исходным кодом. Я решил это, потратив много времени на поиск чего-то подобного по структуре, что я имею в виду.Open Source CMS (.Net vs Java)

Я не являюсь носителем языка, поэтому не стесняйтесь исправить свой синтаксис или перефразировать мой вопрос.

+0

Это очень субъективно, но ** не ** аргументированно, превратите это в вики сообщества и вопрос, скорее всего, не будет закрыт. Хороший вопрос, на мой взгляд, тоже и требует некоторого времени подумать, прежде чем отвечать. – Esko

+0

Хорошо, я сделал это сообщество wiki. Спасибо за предложение. – CmsAndDotNetKindaGuy

+0

Почему downvotes? Пожалуйста, оставьте комментарий. – CmsAndDotNetKindaGuy

ответ

2

Я хотел бы сосредоточиться на C# и .NET, используя только совместимые с Mono межплатформенные библиотеки.

Ваш код сможет работать на подавляющем большинстве платформ таким образом.

+0

Не могли бы вы объяснить, почему вы придерживаетесь .Net? Разве Java не является лучшей альтернативой? Единственная причина, по которой я вижу использование C#, - это мой опыт. – CmsAndDotNetKindaGuy

+0

Поскольку вы сказали, что у вас есть опыт работы в .Net и C#, тогда это будет пустой тратой ваших навыков, и TIME инвестирует в нее. Java - альтернатива, но это не гарантия лучшего решения. Это еще одна параллельная технология, которую вы можете использовать. Вы также можете утверждать, что лучше использовать PHP, Python или другие. Я думаю, что самое главное (в вашем случае) - это ваш опыт в создании (дизайн, архитектура, ...) CMS, с которым вы можете учиться и создавать лучшую. – yojimbo87

1

Начну с того, что как .NET, так и Java имеют большие и эквивалентные поддерживающие инфраструктуры, API и т. Д. У вас есть обширные знания .Net и вам нужно будет изучить эквиваленты Java некоторого подмножества этого, чтобы реализовать на Java.

Я ценю изучение чего-то нового довольно высоко, поэтому я не вижу принципиальной проблемы при работе с Java. Но, если «след» того, что вам нужно изучить, очень обширен, тогда он может мешать вашим реальным целям - что-то строить.

Так что я думаю, что один большой вопрос - это размер вашего учебного места CMS. Я предполагаю, что CMS очень похожа на логику и структуру данных и, вероятно, использует только небольшой набор API-интерфейсов Java - сеть и файл io, или базы данных, возможно? Любой пользовательский интерфейс может быть нейтральным платформой Javascript/AJAX?

Первичная альтернатива, кажется, моно. Я не могу говорить с практикой работы в Mono, я предполагаю, что все в порядке. Меня больше беспокоит, достаточно ли для вас диапазона платформ. iSeries, например, поддерживается? Это для вас важно?

Мой личный предрассудок в том, что эмуляции, как правило, неудовлетворительные, всегда есть вопрос. Поэтому я поеду на Java. Но тогда я парень Java ...

0

Я не уверен, почему вы использовали бы C# или Java для этого конкретного проекта. Я не так разбираюсь в дизайне CMS, как мог, но я знаю C# довольно хорошо, и мне трудно понять, какие преимущества предлагает C# над Python в этой проблемной области, особенно учитывая надежные структуры, такие как Django и Pylons, в качестве стартового точка. (Мое знание Java ... слабое.) Какие конкретные элементы дизайна сделают C#/Java лучшим выбором?