07.05.2014

На чем пишете?

Иногда от клиентов поступает такой вопрос: «На чем пишете?». С одной стороны, хороший разработчик должен ухмыльнувшись ответить, что пишет на чем угодно; с другой — вопрос вполне закономерный, ведь если разработчик действительно имеет опыт, то он уже выбрал связки технологий, которые будет применять на том или ином проекте. И профессионал сможет оценить уровень исполнителей по их инструментарию. Разумеется, речь идет об уникальном сервисе или программном продукте, задачи которого не вписываются в рамки функционала «коробочных» систем управления.

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

Высоконагруженный веб-сервис потокового аудио

Например, клиент приходит с задачей: нужно разработать сайт, на котором много-много людей будет слушать потоковое аудио, да еще и у каждого — свой поток.

Помимо настроек на самом сервере, работа по созданию сервиса будет включать в себя следующие этапы:

Административные модули. Для этого используем:
  • JSF
  • PrimeFaces
  • Seam 3 (с недавних пор DeltaSpike)
  • JPA (Hibernate)
Фронт-энд:
  • SpringMVC
  • ThymeLeaf
  • Less
  • CoffeeScript
  • AngularJS
  • Bootstrap 3
Веб-плеер
  • JPlayer
Генерация потокового аудио
  • IceCast
  • LiquidSoap

Сервис ведения бизнес-процессов организации

SAAS для какого-нибудь вида деятельности и, в частности, API для различных систем. Подобные сервисы подразумевают наличие мобильных приложений-клиентов, должны масштабироваться и развиваться без переделки каких-либо частей комплекса. Для такого проекта мы будем использовать следующий инструментарий:

  • JavaEE (6/7)
  • RESTEasy
  • JSF
  • PrimeFaces
  • Seam 3 (с недавних пор DeltaSpike)
  • JPA (Hibernate)
  • Less
  • CoffeeScript
  • AngularJS
  • Bootstrap 3
  • HTML5 + Canvas
Возможны реализации веб-сервисов с использованием следующего стека технологий
  • NodeJS
  • Express
  • MongoDB
Фронт-энд
  • Jade
  • CoffeeScript
  • AngularJS
  • Bootstrap 3

Тестирование

Для тестирования серверной части используем JUnit и Spting Test, для клиентской — встроенные средства тестирования AngularJS, QUnit.

***

Если же говорить об упомянутых системах управления контентом, то для сайтов с нетривиальным набором функций мы используем мегапопулярный «1С-Битрикс» и Host-CMS. Две эти системы позволяют развернуть на своих платформах гибкие в настройке и мощные интернет-магазины, легкие в управлении корпоративные сайты и лендинги.

Дизайн и верстка

Грамотно поставленный процесс разработки был бы не полным, если бы проектирование и дизайн велись по-старинке. Сейчас уже трудно представить, как мы жили без сервиса Project Parfait и динамического языка стилей Less. Время на верстку дизайна сократилось вдвое и с каждым новым проектом продолжает сокращаться, освобождая время на оптимизацию, разработку новых проектов и экономя деньги наших клиентов. Обсуждение инструментов самого проектирования и дизайна — уже тема других постов, и мы эти темы обязательно еще поднимем.

технологииразработка веб-сервисов