• Стоит ли переходить работать с php на java?

    Я бы смотрел в сторону Angular, Play2, swagger, Jooq, Apache DirectMemory и не заморачивался с энтерпрайсом. Как показывает практика J2EE стэк не очень подходят для фриланса. Конечно есть исключения - можно глянуть Grails, Vaadin и ZK для RAD'а.
    У Grails ужасно низкий порог вхождения, я на него подсаживал рельсозависимых и джангистоманов; там уровень поддержки на несколько порядков лучше чем в большинстве решений из миров php/ruby/python.

    J2EE сейчас немного парализован, и с его использованием в продакшене связано не мало рисков. В первую очередь участились случаи взлома серьёзных учреждений которые используют JBoss и WebLogic. Сейчас как-то стало совсем непопулярно использовать сервлеты ...

    JSF / ADF сейчас отмирает.
    Spring очень простая и нужная штука если разобраться, правда есть свои проблемы и иногда лучше обойтись без него.

    По шаблонам проектирования, важно понимать: mvc, mvp (document-view), mvvm, cqrs-es, disruptor, proactor / reactor. Все остальное, "банальное" типа Factory, Builder, Facade можно подчерпнуть из книжек... в вэбе такое почти не используется, но для понимания остальных шаблонов нужно разобраться.

    В большинстве случаев мне приходится реализовывать CQRS-ES в Play2 через Angular + sse. Есть свои сложности с http кэшированием, и кэшированием модели... часто использую prerender.io для клиентов без JS'а и поисковых роботов. Вэбсокеты (Socket.io) работают медленнее (задержки выше, инициализация длительнее) чем sse, иногда приходится откатываться на флеш и long-polling, но это все по ходу дела приходится самому дописывать руками. Есть много классных решений типа restangular, правда большинство из них ещё довольно сыроваты - доверяю тому что сам пишу.
    Ответ написан
    3 комментария
  • Чем отличаются Javascript и ECMAscript?

    xanep
    @xanep
    Что было сначала — курица или яйцо? :)
    Чтоб понимать как соотносятся Javascript и ECMAscript, нужно окунуться немного в историю. Javascript был создан как скриптовый язык для Netscape. Майкрософт создал свой скриптовый язык для IE, который назывался JScript. Естественно использовать 2 языка для разных браузеров было не кошерно и Netscape инициировало стандартизацию, в результате чего родился стандарт языка ECMAscript. ECMAscript не привязан к браузерам, сам по себе не имеет средств ввода/вывода. Последующие версии языков Javascript и JScript были приведены в соответствие стандарту ECMAscript. На основе этого стандарта также был создан ActionScript.
    В итоге сегодня Javascript состоит из 3-х практически отдельных частей
    — Ядро (полностью соответствует стандарту ECMAscript),
    — Document Object model (DOM)
    — Browser Object Model (BOM)
    DOM — это API для достука к HTML. Его спецификацию вы можете найти на сайте W3C. BOM в каждом браузере реализован по своему. Соответственно вы найдете спецификацию Javascript от Mozilla (как наследницы Netscape) на их сайте. Отдельно можете почитать спецификации ECMAscript и DOM.
    В итоге получается, что изначально стандарт ECMAscript был основан на Javascript, а потом Javascript основан на ECMAscript. Вот так запутанно :)
    Ну а приставка Java — это маркетинговый ход. Java была очень на слуху в 90-х, поэтому и выбрали такое название. Точнее даже переименовали язык из LiveScript в Javascript.
    Ответ написан
    1 комментарий