Во что превратилась javascript и что представляет из себя node.js?
Вот есть java, со всеми своими многочисленными технологиями, библиотеками и т. д. Это один из самых популярных и можно сказать универсальных яп. Львиная доля java это enterprise(еще есть конечно android и прочие сферы ее применения, но enterprise это вершина ее применения). Когда мне попадаются статьи про обсуждения java в enterprise, то обычно там пишется, что java «монстроузорна», ее берут для серьезных проектов которые будут разрабатываться несколько лет(и не факт что они закончатся), порог входа в jee очень высок, берут java только потому что она стабильна, предсказуема, для нее все что нужно уже есть и она более мене легко контролируемая. Вообщем все сложно, рутинно и степенно и неповоротливо.
И есть javascript. Пару лет назад это был язык, который все рассматривали как дополнительный, который использовался только в браузерах(в основном) и он не тянул на самостоятельный язык. Но в последнее время он стал сильно популярен. Javascript появляется везде, на android(кстати довольно не плохо), windows phone, на самой windows тоже вроде были примеры по созданию приложений, в web она тоже, начинает набирать обороты и становиться не доп, а самостоятельным яп. Ну и конечно же enterprise и node.js. Сейчас вокруг node.js больше всего шумихи. Это одна из самых быстро развивающихся серверных платформ. ЕЕ очень сильно рекламируют. Причем если в jee все кажется сложным, неповоротливым и долгим(в плане реализации), то node.js чуть ли не лучик света и складывается впечатление что там все легко и не принуждено(Хотя встречаются и сообщение о том, что программисты на javascript без знания серверов, не слабо встревают, но все же). C другой стороны node.js наоборот критикуют.
Вообщем что теперь из себя представляет javascript и что это за зверь такой node.js и что на нем сейчас можно делать?..
PS: Я лишь описал какое впечатления на меня производят эти яп, при прочтении различных статей, форумов. А не утверждаю что все сейчас так и обстоит.
Like any good tool, node is best suited for a certain set of use cases. For example: Rails, the popular web framework, is great for modeling complex business logic, e.g. using code to represent real life business objects like accounts, loan, itineraries, and inventories. While it is technically possible to do the same type of thing using node, there would be definite drawbacks since node is designed for solving I/O problems and it doesn't know much about 'business logic'.
То есть, node.js для энтерпрайза не очень хорошо подходит. В теории, можно сделать все тоже самое, что и на джаве, но ценой больших усилий — придется постоянно следить, как бы не заблокировать процесс длительной операцией, придумывать схему для надежного деплоя и т. д. Node.js ориентирован на производительность за счет усложнения разработки, а энтерпрайз решения (в том числи и JavaEE) — на ускорение разработки и надежность за счет производительности.
node.js сейчас сел в нише где нужно много соединений в реальном времени, там его в основном и используют.
Тут статья недавно была habrahabr.ru/post/188580/, там не про node.js, но что происходит с javascipt там можно понять.
что это за зверь такой node.js и что на нём сейчас можно делать?..
А на этот вопрос Вы вообще можете ответить самостоятельно, зайдя в вики Node почитать список модулей, в котором напротив каждого модуля вкратце проставлено его предназначение.
Одна из основных проблем java — ее запатентованность вдоль и поперек. Не язык так популярные и разрекломированные фреймворки или их части. А так же большое значение имеет — кто стоит за платформой. Стояли sun/oracle и java стало синонимом 'дырка в браузере' а как ее взяло на вооружение Google, так это вернуло java главенство над мобильными технологиями!
«дырка в браузере» — это вы, должно быть, про Java-апплеты говорите. Так от них большинство давно отказалось.
Сейчас JavaEE (на не слишком крупных проектах) — это:
1. Технология Java Servlets, простая как 5 копеек
2. Apache Tomcat 7 — почти святой в плане лицензии и очень хорошо развивающийся
3. База данных (любая) — я предпочитаю PostgreSQL — тоже всё открыто и хорошо документировано
4. Библиотека JSTL с лицензией «утаскивай и пользуйся». Не скажу, что это самые совершенные шаблоны, но когда я узнал, что в .NET MVC люди до сих пор пишут код на C# прямо в теге шаблона (как уже даже в php не делают, например) и, более того, это является мейнстримом, я ужаснулся.
5. Сборочная среда Maven, которая вам все зависимости сама любезно притащит из интернета.
6. IDE Eclipse, которой можно немного перепугаться сперва, но затем вы быстро поймёте, какая это мощь.
Итого: 1 неделя на подготовку и человек, видевший только hello world на java напишет этот hello world на серверной джаве. Вы считаете, что это сложно? Зато впоследствии ошибок будет намного меньше, а вспомогательных удобных инструментов — больше. Я бы подумал, что проще…
Сейчас JavaEE (на не слишком крупных проектах) — это:...
Вот кстати можно поподробнее, что значит не слишком крупный проект на java? Просто очень сильно разнится понятия.
Итого: 1 неделя на подготовку и человек, видевший только hello world на java напишет этот hello world на серверной джаве. Вы считаете, что это сложно?
Если только hello world то нет, я думаю что за неделю можно на чем угодно hello world научится писать. Но если под hello world понимаются простые проекты то тут может все быть по другому.