Подтвердить что ты не робот

Список технологий богатых веб-приложений

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

Не могли бы вы подтвердить и заполнить приведенную ниже информацию? Каковы ключевые плюсы и минусы каждого варианта? Какой лучший выбор для большого и очень богатого веб-приложения?

Вариант 1: ASP.NET/ASP.NET MVC
Поставщик: Microsoft
Окружающая среда: Visual Studio
Язык: С#
Результат: HTML + JavaScript + AJAX
Пример: www.stackoverflow.com

Вариант 2: Silverlight
Поставщик: Microsoft
Окружающая среда: Visual Studio
Язык: С#
Вывод: исполняемый файл .NET?
Пример:?

Вариант 3: Инструмент Google Web Toolkit
Поставщик: Google
Окружающая среда: Eclipse
Язык: Java
Результат: HTML + JavaScript + AJAX
Пример: http://www.projectkaiser.com:8080/pk/

Вариант 4: Flex
Поставщик: Adobe
Окружающая среда:? Язык:?
Выход: Flash (.swf файл)
Пример: http://listen.grooveshark.com/

Вариант 5: Adobe AIR
Поставщик: Adobe
Окружающая среда:? Язык:?
Выход: AIR
Пример: http://www.colabolo.com/en/download.html

Вариант 5: Ruby on Rails
Поставщик: Основная команда Rails
Envirnoment:?
Язык: Ruby
Результат: HTML + JavaScript + AJAX?
Пример:?

Вариант 6: Java-апплеты
Поставщик: Sun
Окружающая среда: Eclipse
Язык: Java
Выход: Java-апплет

Вариант 7: OpenLeszlo
Поставщик:?
Окружающая среда:? Язык:?
Выход:?
Пример:?

Вариант 8: Vexi
Поставщик: Основная команда Vexi
Окружающая среда: Eclipse
Язык: XML + JavaScript
Выход: Java
Пример: демо на http://vexi.sourceforge.net/

Вариант 9: Django
Поставщик: основная команда Django
Окружающая среда:? Язык: Python
Результат: HTML + JavaScript + AJAX
Пример:?

Вариант 10: XUL
???

4b9b3361

Ответ 1

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

UI:

Silverlight
Лучше всего работает с платформой .NET. Я бы не стал присоединяться к нему с помощью Java, Ruby on Rails, PHP или чего-то еще. Инструменты являются коммерческими.

Flash/Flex (Flash Platform)
Мой любимый, и я думаю, что самый зрелый из списка (я мое субъективное мнение, когда я работаю разработчиком Flex/Java). Работает со всеми технологиями на стороне сервера, используя простой сервис Http, WebService byt наилучшая интеграция осуществляется службами AMF (эффективный двоичный протокол). Интеграция осуществляется на разных уровнях. Основные удаленные вызовы (это достаточно для 90% проектов) доступны для всех платформ (.NET, Java EE, PHP, RoR). но есть библиотека для высокоуровневого взаимодействия (синхронизация данных, push-данных, клиент-серверных событий или даже инжекционная инъекция клиент-сервер) для Java EE: Adobe Livecycle Data Services (коммерческая) или GraniteDS и Tide Framework (бесплатно, работает с JBoss шовные).

Flex SDK (компилятор и lib) является бесплатным, но FlexBuilder является коммерческим.

OpenLaszlo
Существует два варианта: "компиляция" в реальном времени или флэш-html + javascript на сервере OpenLaszlo, или компиляция времени разработки для флэш-памяти и загрузки на http-сервер. Интегрируется с большинством серверных технологий. Идея аналогична гибкой, но была первой.

SDK свободен, IDE довольно беден.

JavaFX/Java Applet
Это скорее экспериментальные, графические инструменты и IDE являются бедными. идея заключается в декларативном (но не XML) интерфейсе преобразования кода и запускает его как апплет. Я думаю, что id не имеет статуса производства.

Flash/Flex и Silverlight предоставляют вам самые современные инструменты для создания богатого пользовательского интерфейса с мультимедиа (потоковое видео/аудио, использование веб-камеры, микрофона и т.д.).

Adobe AIR
AIR означает Adobe Integrated Runtime, позволяющую запускать приложения Flex или HTML + Javascript на вашем рабочем столе (работает аналогично Java Virtual Machine + WebStart). Для интеграции гибких приложений с удаленным системы те же, что и выше. Приложение AIR устанавливается на клиентском компьютере подобно и работает как любое приложение. У вас также есть доступ к файловой системе. AIR работает на Windows, Mac и Linux/BSD тоже (я думаю).

Сторона сервера:

Java
Это: Java EE 5 (теперь Java EE 6) или простое веб-приложение без контейнера приложения. У вас может быть богатый пользовательский интерфейс на основе javascript, например, Google Web Toolkit, JBoss RichFaces, IceFaces и некоторые коммерческие материалы.

Интеграция с интерфейсом Flex с интеграционными фреймами - Adobe LiveCycle... (коммерческий), BlazeDS (простой, бесплатный), GraniteDS + Tide + Gravity (продвинутый, бесплатный), WebOrb и другие Здесь вы можете иметь инфраструктуру приложения: Spring (2 или 3), JBoss Seam и много...

.NET
Я здесь не специалист. Предоставляет вам возможности для интерфейса JS rich. интегрируется с Silverlight и Flex (WebOrb, .NET и AMF).

Там есть много других технологий. У некоторых из них есть свои богатые пользовательские интерфейсы, некоторые из них нет. Большинство из них интегрируется с Flex

PHP
Богатый пользовательский интерфейс с инфраструктурой приложения Prado. Есть несколько более простых фреймворков PHP (спросите Google). Интеграция Flex с AmfPHP, WebOrb, SabreAMF

Ruby on Rails
Язык + сервер + инфраструктура приложения. Может интегрироваться с Flex

Python
Есть некоторые платформы приложений: Django, Pylons... Может интегрироваться с Flex

Scala + Подъем
Лифт - это приложение, написанное в scala. Работает на java-сервере.

Coldfusion
Технология Adobe. Язык - это CFML. Работает на сервере Adobe Coldfusion, но Tere является бесплатным Railo от JBoss. Интегрируется с Flex.

Ответ 2

Мои пять центов

ASP.NET - забудьте об этом. Устаревшая технология прошлого тысячелетия.

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

например. посмотрите

sirius2. пересекается. ком

демо. телерик. com/silverlight/salesdashboard/

Silverlight cons: браузер должен иметь установленный плагин silverlight, этот плагин следует обновлять время от времени, когда новая версия Silverlight выпускается и используется в вашем программном обеспечении, иногда возникает проблема с обновлением этого плагина, Также не уверен, что этот плагин полностью доступен для * nux-систем - так что вы можете придерживаться Windows.

Преимущества GWT: плагин не нужен, вы разрабатываете Java и Java, скомпилированный в чистый javascript. Мой любимый инструмент для создания эффективных приложений, например. http://www.projectkaiser.com

GWT cons: плохие библиотеки GUI (даже если мы говорим о коммерческих библиотеках)

Java-апплеты. Вы можете посмотреть на точку опоры. apache. Org

Итак, мой ответ на вопрос "Какой лучший выбор для большого и очень богатого веб-приложения" - это Silverlight. Позаботьтесь о минусах, хотя!

Ответ 3

Я также рассматриваю, какую технологию использовать, я думаю, что вы можете взглянуть на

Appcelerator Titanium - он позволяет вам разрабатывать настольные и мобильные платформы с использованием веб-технологий, таких как HTML5/CSS/JS и для настольной платформы, даже PHP/Python

все еще оценивает это тоже

также рассматривает RIA (AIR, Silverlight, Titanium) и собственные веб-приложения (PHP, ASP.NET MVC). RIA являются мощными в том смысле, что они могут взаимодействовать с файловой системой и, как правило, быстрее, поскольку они существуют локально. веб-приложения не могут взаимодействовать с файловой системой и, как правило, медленнее и имеют большую задержку. но поскольку они существуют в Интернете, я могу получить к нему доступ в любом месте.

На самом деле мне хотелось разобраться с открытыми веб-технологиями, такими как HTML5/CSS3/JS/PHP/Python, но серьезно рассматривая платформу .NET. С#/F #/WPF/Entity Framework/Silverlight и функции значков Overlay Windows 7, индикатор выполнения, списки переходов показывают большой потенциал. и возможность использовать 1 фреймворк для нескольких языков как для веб-приложений, так и для настольных приложений, даже RIA - отличная игра. Я также видел много видеороликов и шаблонов, и MS рекомендует качество и т.д. фантастично, может быть, трудно научиться сначала, но я думаю, что это того стоит. недостаток многих скажет, что даже я - его закрытый источник. инструменты обычно дороже

Ответ 4

Если вы говорите о создании веб-приложения с богатыми интерактивными функциями на клиенте, есть 3 основных варианта:

  • Flash-based - но ваше приложение не будет работать на iPad.
  • Silverlight - необходимый плагин не так широко принят, как Flash, даже Microsoft не одобряла это недавно для веб-приложений.
  • HTML - Web 2.0 все об использовании собственного HTML + JavaScript для создания богатых приложений в веб-браузере.

Для моих денег HTML - это далеко и далеко самая интересная платформа. Он имеет наибольшую активность и быстро становится все более стандартизированным в браузерах. HTML5 добавляет поддержку функций, таких как локальное хранилище и фоновая обработка. Google Chrome теперь даже имеет 3D-графическую библиотеку (WebGL) - Firefox в ближайшее время.

Если бы я был вами, я бы сосредоточился на изучении HTML (5) стека - HTML, CSS, CSS3, HTML5, jQuery и просмотрел фреймворки с открытым исходным кодом, такие как backbone.js, jQuery mobile, JQTouch, angular.js и т.д. Я следую многим из этих проектов на GitHub - здесь вы можете увидеть более крупный список:

https://github.com/mckoss/following

Для вашего богатого веб-приложения может понадобиться какая-то серверная инфраструктура для его поддержки. Ruby on Rails - это, пожалуй, самая популярная структура и супер легко начать работу. Heroku может разместить ваше приложение для вас очень легко и масштабируемо.

Если у вас уже много Java-кода (я сам не поклонник Java) - Google GWT - очень хорошая инфраструктура для создания приложений на чистой Java и кросс-компиляция клиентских бит на JavaScript.

Мне лично нравится Python на стороне сервера - Google App Engine предоставляет очень хороший вариант, который масштабируется и прост в программировании (с использованием платформы Django в Google App Engine это лучший вариант для нетривиальных приложений).

И, если я могу предложить что-то новое, над чем я работаю, - Страницаforest.com предоставляет платформу для веб-приложений с чистым JavaScript. Вы пишете ВСЕ свой код на клиентском JavaScript и используете AJAX/REST для входа в систему и сохранения данных на сервере Pageforest (эта услуга открыта и бесплатна для разработчиков).

Удачи!

Ответ 5

Я полностью согласен с Питером Гвидзадой, поэтому я больше ничего не могу сказать об этом разделе, поскольку он охватил их всех. Я хочу добавить некоторые другие спецификации. Сначала ясно, что вы хотите сделать с этим. Какое приложение вы хотите развивать? Также выполните поиск в том, что вы хотите, чтобы приложение запускалось. Затем вы решите, какой тип языка/рамки вы хотите разработать. Очистите свою цель, проанализируйте, какая структура будет лучше развиваться (на основе спроса, на мой взгляд), а затем пойдите и учитесь. Вы не можете выучить их всех сразу! У каждого языка/платформы есть плюсы и минусы, поэтому вы решите, что вам больше подходит!

Ответ 6

Sencha Ext JS - это мощная библиотека интерфейсов для настольных компьютеров в браузере. Плюсы: постоянный внешний вид, мощная архитектура (прототип OOP), множество виджетов. Минусы: в большинстве случаев не бесплатно.

Если вы решите придерживаться модульного подхода (который рекомендуется для сложных веб-приложений, богатых данными, с сотнями моделей) и хотите использовать Ruby на внутренней стороне, проверьте Netzke: https://github.com/nomadcoder/netzke-core.

Ответ 7

Я думаю, что с каждым годом веб-разработка становится все сложнее (несколько платформ и устройств, более удобные устройства). Как это происходит, уровни программного обеспечения становятся все более определенными и более сложными. Интеграция и независимость среди этих слоев приобретают первостепенное значение, если вы ищете долгосрочную перспективу. Вы не можете больше полагаться на построение решения только в одной технологии. Поэтому я бы посмотрел на открытые системы/стандарты, такие как Web 2, 3 и т.д.

Ответ 8

Опция для пользователей python:

Пижама (Google Web Toolkit) - питон, скомпилированный в JS

+ любой бэкэнд python (Django, Web.py..).

Все сообщения проходят через JSON-RPC