От выбора технологий зависит успех всего проекта. Предлагаемые нами решения основаны преимущественно на применяемых во всем мире технологиях с открытым исходным кодом.
Как показывает опыт отрасли web-разработок за последние 10 лет, продукты с открытым исходным кодом зачастую содержат меньше ошибок и дыр в безопасности, чем проприетарные разработки крупных компаний. Это может показаться странным, но тому есть логичное объяснение — когда исходный код продукта доступен всем и за ним следят тысячи разработчиков по всему миру, практически все ошибки выявляются до выпуска очередной стабильной версии.
При разработке web-проектов мы используем:
- Apache 2.2HTTP-сервер
- XMLрасширяемый язык разметки
- PHP 5язык программирования
- MySQL 5база данных
- svn, git, mercurialсистемы контроля версий
- nginxлегкий HTTP и прокси-сервер
- xenсистема виртуализации серверов
- symfony, kohanaphp-фреймворки
- XHTML+CSSкроссбраузерная семантически верная вёрстка
- jQueryсовременный javascript-фреймворк
- Pythonязык программирования
- Djangopython-фреймворк
- SOAP, XML-RPCвеб-сервисы
- iOSОС для мобильных устройств Apple
- Cocoaфреймворк для Mac OS X
- Objective-Cязык программирования Apple
Для того чтобы получить надежный и гибкий продукт, который при необходимости легко расширить и усовершенствовать, в работе мы используем современные методологии и подходы:
Большие интерактивные проекты со сложным функционалом мы реализуем на основе собственного framework («каркаса» web-приложения), в котором собраны все компоненты, необходимые разработчику для быстрого создания интерактивных проектов. Наш framework непрерывно развивается, вбирая в себя новые удачные решения, найденные по мере разработки очередных крупных проектов. C использованием этого подхода мы успешно разрабатываем и запускаем социальные сети, отраслевые порталы и СМИ.
По завершении работ над проектом мы проводим функциональное и нагрузочное тестирование, которые показывают устойчивость проекта к большому количеству посетителей. При необходимости применяем кэширование отдельных данных или целых web-страниц в памяти, а также строим масштабируемую на несколько серверов архитектуру.