Фреймворк для разработки веб-приложений и приложений для настольных компьютеров? - PullRequest
0 голосов
/ 30 января 2010

Недавно кто-то спросил меня, существует ли такая волшебная структура, которая позволит, скажем, спроектировать и собрать сразу одну библиотеку элементов управления, а затем использовать их отдельно для создания веб-приложений и приложений для настольных компьютеров.

Есть ли у Google, Microsoft или другой компании такая инфраструктура и инструменты RAD?

Thx

Ответы [ 9 ]

1 голос
/ 30 января 2010

Зависит от того, как вы определяете веб-приложение. Если вы считаете RIA веб-приложениями, тогда да ...

У Microsoft есть Silverlight, а у Adobe - Flex / AIR.

0 голосов
/ 07 ноября 2013

Проверка CrossUI RAD.Он позволяет разработчикам быстро разрабатывать и упаковывать один и тот же код и пользовательский интерфейс в веб-приложения, приложения для собственного рабочего стола (Windows, OS X, Linux и UNIX), а также в мобильные приложения.

0 голосов
/ 29 декабря 2011

Я бы также пошел за веб-сервисом и внедрил в него как можно больше бизнес-логики. Затем вы можете создать очень маленький Clinet в Html / JS, Java, .Net или в любом другом виде.

Вы должны выбрать ту платформу, с которой вы наиболее знакомы.

  • Если вы являетесь .Net-разработчиком, вы можете разработать WCF-Service (также отлично подходит для WP7).
  • Для Java я бы выбрал Google-App-Engine или Play-Framework .
  • И, конечно, вы можете создать PHP-Web-сервис, например, с помощью Flow-Framework
0 голосов
/ 30 января 2010

Вполне возможно, что я неправильно понял этот вопрос, но если все, что вам нужно, это возможность отделить модели бизнес-логики в какую-то библиотеку многократного использования, то подойдет любая платформа / язык программирования .

  • Java: держите модели и бизнес-логику в отдельном проекте, скомпилированном в jar
  • .NET: держите модели и бизнес-логику в отдельном проекте, скомпилированном в DLL
  • Python, Ruby, Perl: храните модели и бизнес-логику в отдельном каталоге и включайте в качестве модуля

Какие требования предъявляются к настольному приложению? На каких платформах он должен работать? Если только Windows, .NET кажется очевидным выбором, в противном случае Python и Qt или Java, если вам нравится Swing.

0 голосов
/ 30 января 2010

Microsoft имеет фабрику Smart Client Factory, которая имеет множество встроенных инструктивных пакетов, которые делают разработку довольно быстрой и стандартизированной.

http://msdn.microsoft.com/en-us/library/aa480482.aspx

0 голосов
/ 30 января 2010

У Adobe есть AIR, и Google хочет, чтобы все писали HTML5 + JavaScript. Chrome и FireFox могут запускать их как автономные приложения.

0 голосов
/ 30 января 2010

Фонд Eclipse предлагает платформу Rich Client и Rich Ajax Platform - одна позволяет создавать настольные приложения, другие веб-приложения - все с использованием концепций SWT. Я бы не назвал это магическим - на самом деле все гораздо сложнее, и я бы не рекомендовал RAP.

0 голосов
/ 30 января 2010

Ну, вы всегда можете пойти и поискать Adobe Flex, Adobe Flash или даже Microsoft Silverlight, который в следующей версии также будет поддерживать настольные приложения.

Другие типы фреймворков в настоящее время не так хорошо строятся в настольных / веб-средах. Возьмем, к примеру, .NET, который можно использовать в очень многих средах, но есть ограничения, если вы хотите использовать его для мобильных Интернет, рабочий стол или XNA, у каждого есть свой набор инструментов.

Это в основном возобновляется в возможностях желаемой среды, поскольку вы можете просматривать веб-страницы в iphone, который не имеет таких же возможностей настольного или даже портативного ПК.

Сева рассказывает, как с этим обычно справляются. MVC - хорошее начало.

0 голосов
/ 30 января 2010

Если бы существовала такая вещь, она бы производила паршивые настольные приложения и паршивые веб-приложения. Базовые платформы и идеологии слишком разные. Вы добьетесь большего успеха, изолировав как можно больше бизнес-логики, а затем построите два отдельных клиента.

РЕДАКТИРОВАТЬ: при условии, что под «веб-приложением» вы подразумеваете приложение на основе HTML, а не то, что происходит в браузере. Для последнего варианта у вас могут быть элементы управления Flash, Silverlight, Java Applets, ActiveX ... И наоборот, у вас может быть настольное приложение, которое открывает элемент управления веб-браузера и запускает в нем веб-приложение. :)

...