Почему в Java так много версий, в отличие от C #? - PullRequest
6 голосов
/ 10 февраля 2012

Я решил выучить другой язык и нахожусь в стадии выбора.

В настоящее время изучаю Java и C #, но склоняюсь к Java, потому что он кроссплатформенный.Я буду в основном создавать веб-приложения, но разнообразие версий Java пугает меня.Java EE, SE, ME, FX, чем они отличаются?Есть ли преимущества использования одного к другому?

Хорошо, FX для настольных компьютеров, ME для мобильных устройств, SE и EE одинаковы, но один для «бизнеса», другой - нет.Итак, если я изучу, например, SE, что потребуется для перехода на EE?Или форекс?Моя проблема в том, что я не могу понять, почему SE, EE и FX - это отдельные продукты?Они оба запускают одну и ту же JVM, и оба могут делать одни и те же приложения.Почему они разделены тогда?

Ответы [ 5 ]

16 голосов
/ 10 февраля 2012

Представьте себе бит , например:

  • ME ~ = Компактный каркас
  • SE ~ = .NET профиль клиента
  • EE ~ = полная .NET Framework (и некоторые дополнительные биты:)
  • FX ~ = Silverlight

Это не точное сравнение, но достаточно близкое начало ...

10 голосов
/ 10 февраля 2012

Это не так разрушительно.

  • Java SE является стандартом для обычных приложений.
  • Java ME для мобильных телефонов, подмножество без плавающей запятой, например.
  • Java EE - это дополнение к Java SE для веб-приложений и веб-серверов.
  • Java FX - альтернатива флеш-плееру, но теперь с привязками / интеграцией Java.

Следовательно, Java SE формирует основы.Java EE для веб-приложений.

В будущем Java получит модульную систему, и различие будет только на уровне библиотеки.

4 голосов
/ 10 февраля 2012

Когда вы говорите «редактор», я думаю, что вы имеете в виду IDE (интегрированная среда разработки). Причина, по которой в Java так много редакторов, а в C # нет, заключается в том, что Java - это open source, а в C # - нет. Таким образом, единственная действительно хорошая IDE, которую вы собираетесь найти там для C #, называется "visual studio" (она не бесплатна)

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

Не бойтесь выпусков Java, если вы хотите создавать веб-приложения, вам нужно перейти на JavaEE (Enterprise Edition). В любом случае это то, что делает каждый из них:

SE (Standard Edition): содержит основные библиотеки, часто используемые в настольных приложениях, но также входит в состав Enterprise Edition.

EE (Enterprise Edition): используется для корпоративных приложений (не только веб-приложений), что означает распределенное программирование, от веб-приложений, настольных компьютеров до веб-служб ...

ME (Micro Edition): предназначен для мобильных технологий, а не только для телефонов, а также торговых автоматов, умных телевизоров, наведения ракет ...;)

FX: это богатая платформа для разработки мощных клиентов простым способом.

Что касается вашего вопроса, различия между EE и SE, я уже ответил, другими словами:

EE - это расширение SE, которое включает в себя EE и позволяет программировать корпоративные приложения. Поэтому, если вы хотите программировать в EE, вам нужно установить SE (просто подумайте об этом как о системном требовании).

Я не очень понимаю, что вы подразумеваете под бизнесом. Что я могу вам сказать, так это то, что Enterprise Edition имеет в своих библиотеках инструмент для разработки бизнес-компонентов, который называется EJB (Enterprise Java Beans).

Причина, по которой EE, SE и FX являются отдельными продуктами, заключается в том, что необходимо разделение интересов.

Пример. Может быть, вы создаете настольное приложение, которому вообще не нужно общаться через Интернет. Зачем вам в нем корпоративные библиотеки для распределенного программирования?

С уважением, но последний вопрос немного бессмысленный.

3 голосов
/ 10 февраля 2012

Разные версии (SE, EE, ME и FX) - это просто разные API-интерфейсы, расположенные на вершине JVM (полное описание можно найти здесь: Ваша первая чашка ).Это не разные языки, поэтому нет нового синтаксиса для изучения переключения между ними, просто разные вызовы API.

Лично я предпочитаю C # для разработки веб-приложений из-за его интеграции с ASP.NET и средами MVC.

1 голос
/ 31 января 2013

См. Описание здесь перспектива Java

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...