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

Другое событие NullPointerException возникает, когда объявляется массив объектов, а затем сразу же пытается разыменовать его внутри.

String[] phrases = new String[10];
String keyPhrase = "Bird";
for(String phrase : phrases) {
    System.out.println(phrase.equals(keyPhrase));
}

Этот конкретный NPE можно избежать, если порядок сравнения отменяется ; а именно, использовать .equals для гарантированного непустого объекта.

Все элементы внутри массива инициализируются их общим начальным значением ; для любого типа массива объектов, это означает, что все элементы null.

Вы должны инициализировать элементы в массиве перед доступом или разыменованием их.

String[] phrases = new String[] {"The bird", "A bird", "My bird", "Bird"};
String keyPhrase = "Bird";
for(String phrase : phrases) {
    System.out.println(phrase.equals(keyPhrase));
}

26
задан 4 revs, 3 users 90% 29 April 2015 в 09:34
поделиться

8 ответов

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

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

все еще оценивают его

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

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

2
ответ дан 2 revs 29 April 2015 в 09:34
поделиться

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

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

1
ответ дан mxgrn 29 April 2015 в 09:34
поделиться
  • 1
    Я подразумевал, что необходимо использовать неподписанные типы данных для собственных API, которые требуют параметра размера (в C), независимо от какой you' вызов ре. – BlueRaja - Danny Pflughoeft 16 July 2010 в 17:57
  • 2
    Я подразумевал, что необходимо использовать неподписанные типы данных для собственных API, которые требуют параметра размера (в C), независимо от какой you' вызов ре. – BlueRaja - Danny Pflughoeft 16 July 2010 в 17:57
  • 3
    Я подразумевал, что необходимо использовать неподписанные типы данных для собственных API, которые требуют параметра размера (в C), независимо от какой you' вызов ре. – BlueRaja - Danny Pflughoeft 16 July 2010 в 17:57
  • 4
    Я подразумевал, что необходимо использовать неподписанные типы данных для собственных API, которые требуют параметра размера (в C), независимо от какой you' вызов ре. – BlueRaja - Danny Pflughoeft 16 July 2010 в 17:57
  • 5
    Я подразумевал, что необходимо использовать неподписанные типы данных для собственных API, которые требуют параметра размера (в C), независимо от какой you' вызов ре. – BlueRaja - Danny Pflughoeft 16 July 2010 в 17:57

Опция для людей с питоном:

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

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

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

.
0
ответ дан zzart 29 April 2015 в 09:34
поделиться
  • 1
    ... потому что they' ре часто раньше содержало значения, которые никогда не будут отрицательными, но являются слишком большими для помещений в то же - измерил неподписанный тип. Переносящиеся поведения неподписанных типов weren' t так разработанный в них, как они произошли естественно в ранних системах и были полезны. – supercat 21 April 2015 в 16:44
  • 2
    ... потому что they' ре часто раньше содержало значения, которые никогда не будут отрицательными, но являются слишком большими для помещений в то же - измерил неподписанный тип. Переносящиеся поведения неподписанных типов weren' t так разработанный в них, как они произошли естественно в ранних системах и были полезны. – supercat 21 April 2015 в 16:44
  • 3
    ... потому что they' ре часто раньше содержало значения, которые никогда не будут отрицательными, но являются слишком большими для помещений в то же - измерил неподписанный тип. Переносящиеся поведения неподписанных типов weren' t так разработанный в них, как они произошли естественно в ранних системах и были полезны. – supercat 21 April 2015 в 16:44
  • 4
    ... потому что they' ре часто раньше содержало значения, которые никогда не будут отрицательными, но являются слишком большими для помещений в то же - измерил неподписанный тип. Переносящиеся поведения неподписанных типов weren' t так разработанный в них, как они произошли естественно в ранних системах и были полезны. – supercat 21 April 2015 в 16:44
  • 5
    ... потому что they' ре часто раньше содержало значения, которые никогда не будут отрицательными, но являются слишком большими для помещений в то же - измерил неподписанный тип. Переносящиеся поведения неподписанных типов weren' t так разработанный в них, как они произошли естественно в ранних системах и были полезны. – supercat 21 April 2015 в 16:44

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

1
ответ дан 2 revs, 2 users 67% 29 April 2015 в 09:34
поделиться
  • 1
    Мне нравится это: It' s хорошая идея избежать вычитания, если Вы используете неподписанные типы. – Steve Hanov 16 July 2010 в 16:13
  • 2
    Мне нравится это: It' s хорошая идея избежать вычитания, если Вы используете неподписанные типы. – Steve Hanov 16 July 2010 в 16:13
  • 3
    Мне нравится это: It' s хорошая идея избежать вычитания, если Вы используете неподписанные типы. – Steve Hanov 16 July 2010 в 16:13
  • 4
    Мне нравится это: It' s хорошая идея избежать вычитания, если Вы используете неподписанные типы. – Steve Hanov 16 July 2010 в 16:13
  • 5
    Мне нравится это: It' s хорошая идея избежать вычитания, если Вы используете неподписанные типы. – Steve Hanov 16 July 2010 в 16:13

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

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

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

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

sirius2. интерсофтпт. com

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

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

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

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

Java-апплеты . Вы можете посмотреть на пивот. апач. org

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

2
ответ дан user270101 29 April 2015 в 09:34
поделиться
  • 1
    @Pavel Minaev я должен допустить меня don' t знают abbrevation U.B. – InsertNickHere 16 July 2010 в 05:48
  • 2
    @Pavel Minaev я должен допустить меня don' t знают abbrevation U.B. – InsertNickHere 16 July 2010 в 05:48
  • 3
    @Pavel Minaev я должен допустить меня don' t знают abbrevation U.B. – InsertNickHere 16 July 2010 в 05:48
  • 4
    @Pavel Minaev я должен допустить меня don' t знают abbrevation U.B. – InsertNickHere 16 July 2010 в 05:48
  • 5
    @Pavel Minaev я должен допустить меня don' t знают abbrevation U.B. – InsertNickHere 16 July 2010 в 05:48

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

Пользовательский интерфейс:

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

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

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

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

SDK бесплатный, IDE довольно плохой.

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

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

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

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

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

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

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

PHP
Rich UI с каркасом приложений Prado. Есть несколько простых PHP-фреймворков (спросите в Google). Гибкая интеграция с AmfPHP, WebOrb, SabreAMF

Ruby on Rails
Фреймворк Language + Server + App. Может интегрироваться с Flex

Python
Существует несколько каркасов приложений: Django, Pylons ... Может интегрироваться с Flex

Scala + Lift
Lift - это фреймворк приложения, написанный на Scala. Работает на Java-сервере.

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

24
ответ дан Community 29 April 2015 в 09:34
поделиться
  • 1
    Эффект переполнения со знаком (который является что you' ре, полагающееся для этого решения), U.B. в Стандарте C. – Pavel Minaev 15 July 2010 в 20:09
  • 2
    Эффект переполнения со знаком (который является что you' ре, полагающееся для этого решения), U.B. в Стандарте C. – Pavel Minaev 15 July 2010 в 20:09
  • 3
    Эффект переполнения со знаком (который является что you' ре, полагающееся для этого решения), U.B. в Стандарте C. – Pavel Minaev 15 July 2010 в 20:09
  • 4
    Эффект переполнения со знаком (который является что you' ре, полагающееся для этого решения), U.B. в Стандарте C. – Pavel Minaev 15 July 2010 в 20:09
  • 5
    Эффект переполнения со знаком (который является что you' ре, полагающееся для этого решения), U.B. в Стандарте C. – Pavel Minaev 15 July 2010 в 20:09

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

  1. на основе Flash - но ваше приложение не будет работать на iPad .
  2. Silverlight - необходимый плагин не так широко распространен, как Flash, даже недавно Microsoft за это отказалась от веб-приложений.
  3. 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 - лучший вариант для нетривиальных приложений).

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

Удачи!

2
ответ дан mckoss 29 April 2015 в 09:34
поделиться

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

1
ответ дан Faustas 29 April 2015 в 09:34
поделиться
  • 1
    Почему can' t Вы? Вы имеете в виду 2-байтовые значения (на 16 битов) вместо этого? – Samuel 15 July 2010 в 20:21
  • 2
    Почему can' t Вы? Вы имеете в виду 2-байтовые значения (на 16 битов) вместо этого? – Samuel 15 July 2010 в 20:21
  • 3
    Почему can' t Вы? Вы имеете в виду 2-байтовые значения (на 16 битов) вместо этого? – Samuel 15 July 2010 в 20:21
  • 4
    Почему can' t Вы? Вы имеете в виду 2-байтовые значения (на 16 битов) вместо этого? – Samuel 15 July 2010 в 20:21
  • 5
    Почему can' t Вы? Вы имеете в виду 2-байтовые значения (на 16 битов) вместо этого? – Samuel 15 July 2010 в 20:21
Другие вопросы по тегам:

Похожие вопросы: