На стороне сервера
1С-Битрикс: Управление сайтом
Профессиональная система управления веб-проектами, универсальный программный продукт для создания, поддержки и успешного развития:
- корпоративных сайтов
- интернет-магазинов
- информационных порталов
- сайтов сообществ
- социальных сетей и других веб-проектов
Symfony
Symfony — PHP фреймворк, включающий в себя широкий набор классов и используемый для разработки нетиповых проектов. Symfony обладает следующими особенностями:
- Работает с большим спектром БД (от sqlite до Oracle, в т.ч. mysql и PostgreSQL)
- Очень гибкий фреймворк. Большое количество средств для масштабирования и оптимизации работы системы, мощная система кеширования, поддержка работы до 6 систем кеширования (file, sqlite, memcached, APC, eAccelerator, xCache)
- В рамках symfony применимы большинство лучших методик разработки и шаблонов проектирования.
- Читаемый и прозрачный код; возможность использования phpDocumentor. Удобен как на этапе разработки, так и на этапе поддержки и развития проекта.
- Удобные средства для тестирования проектов, фреймворк предоставляет инструменты, упрощающие TDD (test-driven development)
- Опыт использования в крупных проектах (bookmarks.yahoo.com, answers.yahoo.com, fut.ru), официально зарегистрировано около 1000 реализованных проектов
- Около 1000 разработанных плагинов с дополнительной функциональностью
- Фреймворк удобен, как инструмент коллективной разработки проекта.
Sphinx
Sphinx является отечественной высокопроизводительной системой полнотекстового поиска, написанной на C++. Позволяет осуществлять поиск через предоставляемый API-интерфейс (SphinxAPI), SQL-подобный интерфейс (SphinxQL) либо посредством интеграции с MySQL (SphinxSE).
SphinxAPI реализация существует для всех популярных языков программирования, включая PHP, Perl, Ruby, Java, Perl, C#, Haskell. Также разработаны более удобные реализации интерфейса для популярных веб-фреймворков, таких как Symfony и Ruby on Rails.
К преимуществах Sphinx относятся высокая скорость индексации (10-15 Мб/сек на одно ядро процессора), высокая скорость поиска (до 250 запросов/сек на ядро среди миллионов документов), встроенная поддержка морфологии для наиболее распространенных языков, гибкие настройки индексации и поиска, масштабируемость системы и многое другое.
На стороне клиента
jQuery
jQuery — это JavaScript фреймворк, иcпользуемый для реализации AJAX, визуальных эффектов, валидации и прочей функциональности на стороне клиента. jQuery обладает следующими особенностями:
- Компактный исходный код и высокая производительность;
- Кроссбраузерность (IE6+, FF2+, Safari 3.0+, Google Chrome);
- Большое количество готовых плагинов.
ExtJS
Библиотека ExtJS написана на JavaScript и работает во всех популярных сейчас браузерах (хотя и с некоторыми различиями), предназначена для создания сложных и насыщенных интерфейсов, которые очень похожи на их аналоги из мира desktop-программ. Она предоставляет разработчику целый набор графических компонентов, от тривиальных кнопок и расширенных элементов обычных HTML-форм, до сложнейших компонентов вроде таблиц, лейаутов и деревьев. В библиотеке также есть достаточно много невидимых пользователю компонентов, которые и обеспечивают работу того, что мы видим на экране. Это и получение данных с сервера в фоновом режиме (в формате JSON или XML), обновление частей страницы, локальные хранилища данных, поддержка cookie и многое другое.
В основе архитектуры лежит понятие адаптера (adapter), который реализует всю нужную низкоуровневую функциональность. Кроме этого, адаптеры служат для обеспечения работы с другими библиотеками.
СУБД
PostgreSQL
PostgreSQL — это свободно распространяемая объектно-реляционная система управления базами данных, наиболее развитая из открытых СУБД в мире и являющаяся реальной альтернативой коммерческим базам данных. PostgreSQL обладает следующими особенностями:
- Соблюдение принципов ACID и полноценная реализация MVCC;
- Высокий уровень совместимости со стандартоми ISO/ANSI SQL:200x;
- Широкие возможности индексирования (GiST, GIN, bloom);
- Расширяемость (пользовательские функции, типы данных, операторы, методы доступа);
- Надежность, высокое качество кода, быстрая реакция на найденные проблемы;
- Поддержка большого количества языков для хранимых процедур;
- Поддержка расширенных типов данных (массивы, структуры, ассоциативные массивы и так далее).
MySQL
MySQL является решением для малых и средних приложений. Обычно MySQL используется в качестве сервера, к которому обращаются локальные или удалённые клиенты, однако в дистрибутив входит библиотека внутреннего сервера, позволяющая включать MySQL в автономные программы.
Гибкость СУБД MySQL обеспечивается поддержкой большого количества типов таблиц: пользователи могут выбрать как таблицы типа MyISAM, поддерживающие полнотекстовый поиск, так и таблицы InnoDB, поддерживающие транзакции на уровне отдельных записей.
MySQL портирована на большое количество платформ и имеет API для многих языков программирования.