×Закрыть

Java дайджест #15: Новый тренд, который нельзя игнорировать

Ссылки, на которые лучше таки нажать (по мнению автора), отмечены знаком (!)

Новый тренд, который нельзя игнорировать

JavaEE or Spring? Neither! We Call Out For a Fresh Competitor!

Java Micro Frameworks: The New Trend You Can’t Ignore. А как вам кажется можно/нужно ли игнорировать эти тренды? И есть ли тренды?

Начнем рассмотрение «других фремворков» с условно альтернативных:

  • совсем не альтернативный Spring Boot.
  • JHipster — «альтернатива» собравшая в себе мейнстрим в виде Spring Boot + AngularJS + Yeoman.
  • Dropwizard, который по факту такое же сборище стандартных технологий, как и предыдущие, но из мира JEE.

Ninja — еще один фреймворк из серии «все в одном». Но что-то непонятное вызывает к нему недоверие. Если у кого-то есть опыт использования в продакшене, интересно будет услышать отзывы.

Spark and Freemarker: Exposing HTML and JSON from the same service. Помимо того как сдружить Freemarker и Spark, данная статья еще и напоминает нам что в этом мире слишком много людей у которых очень много свободного времени.

Интервью с Tim Fox про Vert.x 3, который зарелизился в этом месяце.

Play 2.4 Moves to Dependency Injection and Java 8. Play! 2 — это не совсем микро-фремворк, но все-таки альтернативный подход по сравнению с JEE и Spring. В плане хипстовости первый Play! таки интереснее, но он далеко не идеален.

Небольшая пачка микрофрейворков одной строкой (отзывы и опыт использования приветствуются):

Из всей этой братии Ratpack выглядит наиболее адекватно, на мой взгляд.

Что-то вроде новостей

Вышел JMH 1.10.

Вышел Eclipse Mars.

Стартовал IntelliJ IDEA 15 EAP.

G1 now the default in JDK 9.

Jetty 9.3 Celebrates 20th Anniversary, adds HTTP/2 Support.

Вышел первый стабильный релиз Reactive Streams.

Почитать и посмотреть

(!) 12 Tools That I Use for Writing Unit and Integration Tests. Сборище ссылок на всякие полезные библиотеки для тестирования кода.

CORS support in Spring Framework.

Разработчики просят фидбэк по планам на системные требования для Spring 5.

Немного странного, бесполезного, но прикольного: Как выполнить закоментированный код.

Code review workflow in Upsource. На мой взгляд, таки слабовато, но базовое воркфлоу покрыто.

5 Features in Java 9 that WILL Change How You Develop Software (and 2 That Won’t). На мой взгляд самое интересное это REPL. Вторая хорошая новость, на мой взгляд, это то что дропнули Money and Currency API.

Answering questions (from Devoxx) on Microservices. Ответы на наиболее часто задаваемые вопросы о микросервисах.

Java 8 Improves JIRA Performance Dramatically. Как по мне, совет из серии «попробуйте перегрузить компьютер». И полезная, хоть и не совсем новая составляющая: AtomicInteger Java 7 vs Java 8.

Interview and Book Review: Java in a Nutshell, 6th Edition

Разное

(!) REST API Tutorial — коротко и понятно что есть хорошая практика при разработке REST API, а чего лучше не делать.

java-8-matchers — набор полезных утилит для Hamcrest, упрощающих работу с нововведениями в 8-ке.


Предложения и пожелания все еще принимаются или через завсклад и товаровэд администрацию ДОУ, или через твиттер @_silverwolf. Также можно оставлять комментарии в специально выделенной теме на форуме.

← Предыдущий выпуск: Java дайджест #14
Следующий выпуск: Java дайджест #16

LinkedIn

19 комментариев

Подписаться на комментарииОтписаться от комментариев Комментарии могут оставлять только пользователи с подтвержденными аккаунтами.

Дякую за дайджест.

Мені одному не подобається використання url shortener?

Мені одному не подобається використання url shortener?
Нет. Но до тех пор покая я не придумаю как мне удобно управлять ссылками с разных компов, будет так :)
Вторая хорошая новость, на мой взгляд, это то что дропнули Money and Currency API.

Почему?

А нафига оно надо в коре?

Ну я ж не спорю, что жили без него и никто не умер (я надеюсь). Вопрос — почему именно хорошая? Оно ж «хлеба не просит». Хочешь — пользуешь, не хочешь — не пользует.
Лично для меня новость совершенно нейтральная. Нет — ну и не надо. Есть — может кому-то понадобится :)

Оно ж «хлеба не просит».
Вспоминаем историю про Date/Calendar/Joda
Нет — ну и не надо. Есть — может кому-то понадобится
Такой функционал засовывают в дополнительные библиотеки, а не в стандартную
Такой функционал засовывают в дополнительные библиотеки, а не в стандартную
Лучше бы сделали нормальный стандартный HTTP клиент

Вау! Круто! Новые тренды! Скажите это продукту

Вау! Круто! Новые тренды! Скажите это продукту
Вау! Круто! Какому еще продукту? Поясните свою мысль.

Продукту, который написан лет 10 назад и который кто-то продолжает дописывать, а кто-то продолжает внедрять. Там ну оооочень нужные новые фреймворки и сахарок.

Там ну оооочень нужные новые фреймворка и сахарок.
Судя по тону сообщения, ваша первоначальная фраза должна была звучать так: «Скажите это продукту над которым в данный момент работает Ivan Labushevskiy» :)
Продукту, который написан лет 10 назад и который кто-то продолжает дописывать, а кто-то продолжает внедрять.
В общем-то, подход всегда индивидуальный, то стоит ли внедрять подход или фреймворк зависит от многих факторов, и возраст тут один из последних.
Если проект в стадии консервации или очень близкой к ней, то скорее всего не стоит вносить любые изменения.
Если продукт все еще активно разрабатывают, то надо смотреть на его архитектуру. Во многих случаях, изменение подхода может дать положительный результат. При этом существуют случаи, когда нет другого выхода как пилить в J2EE стиле (эт типа 1.4).

Развивается продукт, но приблуд туда по минимуму внедряется. Все самописное.

Да, я не занимаюсь разработкой продукта. Только внедрение :)

Java Micro Frameworks: The New Trend You Can’t Ignore. А как вам кажется можно/нужно ли игнорировать эти тренды? И есть ли тренды?

Можно игнорировать данные тренды, учитывая что эти микро фреймворки не такие уже и атомарные. К примеру, всеми обсуждаемый Spark всего навсего обертка, за которой прячется самый обыкновенный Jetty. Поэтому вопрос больше стоит так: хочется ли попробовать забытое старое под новым соусом?

К примеру, всеми обсуждаемый Spark всего навсего обертка, за которой прячется самый обыкновенный Jetty.
К примеру всеми обсуждаемый HTTP всего навсего обертка, за которой прячется самый обыкновенный TCP

Я лишь хочу сказать что термин «микро» здесь явно притянут за уши. Вы еще до электрических импульсов дойдите)))

Я хотел паралелль с моделью OSI провести. Spark очень маленький фрейморк, скорее даже либа, в который любой легко сможет добавить новую фичу, а спринг — монстр из спагетти-быдлокода.

Егор, я с вами полностью согласен. Задумка Spark была очень проста: если вам нужен web app, в котором 3 GET, 2 POST всего навсего — зачем плодить кучу dependencies, если можно тупо написать в одну строчку обработку вышеназванных запросов.

Естественно тот, кто будет юзать Spring в данном контексте будет выглядеть как человек, пожелавший съесть один банан, но для этого заказав фуру с фруктами.

Я лишь хочу сказать что термин «микро» здесь явно притянут за уши.
Термин «микро» для всего собрания фреймворков в дайджесте таки не очень подходит, просто термин «другие фреймворки» звучит еще более странно.
Если говорить про Spark, то тут как раз термин «микро» вполне подходит, ибо Spark — это просто минималистичный другой (где-то упрощенный) интерфейс для так же простой идеи обработки веб-запросов манипулируя 2-я объектами — запрос и ответ. И да, идея не нова.

Подписаться на комментарии