Контакты+7 (495) 788 74 17
Java в LightSoft
Вернуться к списку статей
В нескольких проектах LightSoft на равне с PHP используются Java технологии.
Основные задачи, которые решаются с их помощью - выполнение расчётов и очередей, которые более ресурсоёмки,
чем может выдерживать PHP, и более сложные чем можно сделать просто в RabbitMQ или Gearman.
Помимо этого исторически у нас есть Web-приложение в рамках ПО для туроператоров, которое помимо
быстрого расчёта туров (а это та ещё задачка) содержит приличный объём простого, а часто и не очень простого CRUD-а для работы с информацией туроператора.Что мы используем сейчасСейчас в основе нашей разработки Java лежат:
Помимо этого мы используем стандартный стэк LightSoft:
Как мы ко всему этому пришлиНачалось всё с софта для туроператоров, где возникло две проблемы:
Вокруг этого функционала на разных этапах мы успели сделать и переделать много интерфейсов и прочего. Была и красивая, сложная и медлительная в сборке Scala (которая многим хороша, кроме боли, с которой её приходится вставлять в остальной стэк технологий… ну и в новичков). Также на заре работы мы успели пощупать Guice, который хороший и красивый. Но каждая новая фича = новая либа, согласование и т.д. В итоге оказалось проще продаться Spring-у, где почти на каждую проблему есть своё решение, которое хорошо дружит со всем остальным (т.е. когда используешь 4 и более Spring * технологий, то собрать это всё из разных кусочков уже долго и нудно). Ещё был GWT. Про GWT можно рассказать отдельно - это весьма хорошая штука, которая позволяет писать JavaScript код на Java, получая хорошую статическую типизацию, проверку ошибок очень рано, юнит тесты и прочие плюшки (пример - хотите провести рефакторинг, затрагивающий логику работы нескольких десятков классов, меняющих структуру работы и обновить пользовательский интерфейс, который с этой структурой работает? - легко, 4 часа, и оно внезапно почти работает сразу после того, как наконец собралось). Вот только код получается очень уж далёк от JavaScript-результата… а время сборки начинает вгонять в тоску, и становится только хуже со временем. В итоге всё новое делается на AngularJS + TypeScript, которые в сумме дают много плюшек, но при этом близки и понятны к тому, что работает в итоге. Какие задачи мы решаем сейчасОсновное применение Java в Лайтсофт на данный момент - различные системы, требующие быстрой обработки большого количества данных/запросов, это:
За это время Java зарекомендовала себя, как достаточно быстрый, мощный и стабильный язык и платформа, которая при этом представляет хорошие возможности для длительной поддержки проектов. |