Рекомендовать перспективную кроссплатформенную серверную платформу, масштабируемую вверх и вниз
Приложение, занимающееся интенсивной обработкой текста, должно работать на нескольких серверных платформах (как можно больше, но только Windows и Linux достаточно хороши) и, если возможно, также на мобильных платформах. Поддержка рабочего стола является плюсом для среды разработки, но не обязательна.
Требуется доступ к СУБД.
Поддержка параллельных вычислений (Hadoop, QizMT) является плюсом. Источник с открытым исходным кодом не является обязательным.
Я смотрел на Qt, вплоть до того момента, когда Nokia сделала свое удивительное объявление о Windows Phone 7. Это означает, что у Qt будущее неопределенное.
.NET / Mono также выглядит неплохо, но его поддержка мобильной платформы отсутствует.
Мысли?
3 ответа
Попробуйте взглянуть на решение Integra Client/Server на сайте http://oelsoft.com/
JVM является лучшей платформой для кроссплатформенной разработки на стороне сервера по нескольким причинам:
- Java по большей части является языком № 1 в мире для разработки приложений общего назначения с точки зрения использования и популярности. Если вы создаете новое программное обеспечение, популярность языка сама по себе не имеет значения, но в более широком смысле это большое преимущество с точки зрения зрелости экосистемы и легкости поиска хороших разработчиков.
- Это полностью кроссплатформенная и теперь с открытым исходным кодом. Таким образом, вы можете разрабатывать без риска зависания от поставщика или архитектуры на программной или аппаратной стороне. Это очень важно, если вы хотите быть "будущим".
- Библиотека и инструментальная экосистема не имеют себе равных. У вас есть огромное количество программного обеспечения и инструментов от Apache Foundation, Google, Sun / Oracle, IBM, Eclipse, JBoss и многих других.
- JVM очень хорошо спроектирована. Нет ничего более хорошего в плане сборки мусора, переносимости, JIT-компиляции, базовых библиотек, долгосрочной стабильности API. Платформа Microsoft .Net является единственной вещью, которая приближается с точки зрения общего качества платформы, но в основном привязана к платформам и инструментам Microsoft, поэтому.Net не является жизнеспособным выбором, если вы цените мобильность или длительную гибкость архитектуры.
- Если вы специализировались на масштабируемости, малой задержке и т. Д., То вы можете легко перейти на расширенные пользовательские JVM или аппаратные средства, такие как Azul Systems.
- Вы можете использовать сам язык Java, если вы знакомы с классическим ООП, но в настоящее время может иметь смысл выбирать более современные языки JVM, такие как Scala или Clojure - оба эти языка чрезвычайно хороши для разработки на стороне сервера. Можно утверждать, что большая часть языковых инноваций происходит в новых языках JVM, а не в самой Java (которая сегодня больше похожа на устойчивый, стабильный язык рабочей лошадки).
На клиентской стороне это менее хлопотно, и есть много других хороших вариантов, но варианты на основе Java все еще довольно хороши:
- Android явно очень силен в мобильном пространстве. Android использует свои собственные библиотеки SDK и VM (Dalvik), но основным языком программирования является Java.
- Swing или SWT - очень хорошие наборы инструментов для создания кроссплатформенных настольных приложений. Вероятно, только наборы инструментов C/C++ имеют одинаковый охват с точки зрения охвата платформы, но все они требуют, чтобы вы перекомпилировали для каждой платформы....
- По состоянию на 2012 год JavaFX 2.0 был выпущен. Это все еще первые дни, но это может показаться многообещающим для разработки богатых интернет-приложений.
- Вы можете использовать Java Web Start для развертывания на клиентах. Это позволяет относительно легко настроить развертывание в один клик через Интернет, так как веб-запуск позаботится о загрузке всех необходимых зависимостей для вас.
Нет ответов вообще?
Этот, кажется, самый близкий: как написать кроссплатформенную программу? но дело не в серверном приложении...