Развитие платформы «1С-Битрикс»: эволюция или революция Юрий Тушинский технический директор компании «Битрикс»

Презентация:



Advertisements
Похожие презентации
Планы развития продуктов в 2012 году Сергей Рыжиков генеральный директор компании «1С-Битрикс»
Advertisements

D7 – новая платформа разработки сайтов и порталов Тушинский Юрий Технический директор Битрикс.
BitrixMobile Юрий Тушинский Технический директор Битрикс.
D7: проектирование и реализация нового модуля «Диск» Алексей Кирсанов Ведущий программист «1С-Битрикс»
Компоненты 2.0 1C-Битрикс: управление сайтом Артем Рябинков к.т.н, руководитель отдела партнерских и корпоративных продаж Компания «Битрикс»
Артем Рябинков Руководитель отдела развития бизнеса 1С-Битрикс, к.т.н. Обновленные решения для создания сайтов 1С-Франчайзи.
Принципиальные изменения в версии 6.0. Оптимизация. Производительность продукта Сергей Рыжиков Генеральный директор ООО «1С-Битрикс»
Применение новых Web- технологий для библиотек и систем информационного обеспечения.
Программное обеспечение как услуга (SaaS) Лекция 8.
Архитектура «D7»: модули, классы, жизненный цикл Кирсанов Алексей Ведущий разработчик 1C-Битрикс.
Алексей Кирсанов ведущий разработчик «1С-Битрикс» Магазин – глобальная реструктуризация. D7 Партнерская конференция «1С-Битрикс»
Симпозиум 2008 Сергей Шутов, ДИМАС Борис Егоров, Интерсистемс Практика использования Zen и Прототип-6.
Аспекты увеличения быстродействия «1С-Битрикс: Управление сайтом» на виртуальном хостинге Артём Рябинков 1С-Битрикс.
Инструментальная система разработки распределенных приложений «SiTex»
БЭСТ Дизайнер проектов Введение Концепции Основные понятия.
Использование AJAX для асинхронной передачи данных. Что такое AJAX. Как использовать. В чем преимущество. Примеры использования на крупных сайтах. Выполнила:
Безопасное хранения Ваших данных в сети интернет!.
Подводные камни разработки – чего делать нельзя Александр Сербул Руководитель направления контроля качества интеграции и
Системы управления содержимым сайта Content Management Systems (CMS) Лекция 9.
Композит – ваш сайт не тормозит Антон Герасимюк Ведущий разработчик, 1C-Битрикс Партнерская конференция 2015.
Транксрипт:

Развитие платформы «1С-Битрикс»: эволюция или революция Юрий Тушинский технический директор компании «Битрикс»

Историческая справка Текущая ветка продукта была разработана в 2002 году и до сих пор поддерживается (первое обновление ядра вышла 19 декабря 2002г). PHP 4.0 MySQL 3 Отсутствие нормального ООП, подзапросов 10 лет!

Наши преимущества Выбранная архитектура позволила удовлетворять потребностям бизнеса, расширяться, развивать продукт. Возможность обновлять продукт, получать новый функционал, без потери старого работающего на сайте. Высокая скорость обучения и быстрое вхождение для простых операций. Быстрый старт. Архитектура близкая к привычным веб-технологиям: обычные php страницы, папки, отсутствие дополнительного языка шаблонов.

Наши преимущества Отчуждаемость кода. Отделение логики от представления, структуры БД. Многошаблонная и многосайтовая архитектура. Прослойка для работы на разных конфигурациях ПО, позволяющая разработчикам не думать этом. Специальная прослойка безопасности: безопасные переменные в шаблонах, экранирование для запросов, WAF. Информационные блоки – универсальное настраиваемое структурированное хранилище данных. ……………

Наши преимущества А есть недостатки?

Мы знаем наши недостатки Местами «странный» код Нет единообразия (много разных GetList) Устаревший (ООП) Нет большого количества событий Большое количество файлов Неполная документация Ошибки Дублирование кода (Ctrl+C, Ctrl+V) Тяжело модифицируется административная панель Тяжело воспринимаемая логика выполнения страниц (отложенные функции) Компоненты - все в одном файле без методов Нет контроля кеша, ……..?

Мы знаем наши недостатки Большинство недостатков имеют историческую причину: Используемый код писался для древних версий серверного ПО. За время существования продукта сменились поколения технологий: ООП, Ajax, Web 2.0, браузеры. Во многих реализациях мы были первопроходцами (можно наблюдать по эволюции развития того же GetList). Ряд недостатков, которые обсуждаются в сообществах, зачастую бывают особенностями платформы, смысл которых не до конца был понят.

Основные принципы новой платформы Использование последних версий серверного ПО: PHP 5.3, MySQL 5. Полноценное использование ООП. Использование исключений (exceptions). Отказ от поддержки исторических хвостов. Все конечные операции по интеграции: шаблоны компонент, шаблоны сайта, простейшие компоненты - останутся легкодоступны для начального уровня программирования и не очень внешне изменятся.

Bitrix Framework Библиотека классов. ORM. Новый жизненный цикл страницы, глобальные объекты. Провайдеры объектов для основных операций. События везде, параметризированные события, почтовые события. Классы для работы с мульти-загрузчиком файлов (Aurigma), типовые интерфейсы. Phar?

Библиотека классов Стройная библиотека классов для централизованного использования в модулях: Безопасность (авторизация, шифрование) Работа с форматами (картинки, видео, pdf) Работа с текстами (санитайзер, парсеры) Работа с файлами, архиваторы Работа с кешем Работа с почтой, протоколы передачи данных Логирование Сериализаторы (php, json, XML) …..

Глобальный runtime объект Далекий аналог $APPLICATION Содержит в себе объекты-интерфейсы: Для работы с СУБД (ORM) Файловая система Обработчики текста Логирование Компонентная модель, обработчик шаблонов Работа с кешем Обработчики URL Текстовый процессор Для аутентификации и авторизации, локализации, …

Глобальный runtime объект Некоторые объекты-интерфейсы можно переопределить своими реализациями (провайдеры). Например, переопределить авторизацию, шаблонизатор или способ хранения данных кеша:

Компоненты и шаблоны Использование компонент в контрольной панели - даст возможность более гибко кастомизировать формы и списки. Возможность разбивать код компонента на методы, наследование и переопределение блоков в кастомизированных компонентах. Отказ от отложенных функций. Возможность использовать в шаблонах методов из компонент. Может использоваться для динамического запроса информации, в случае необходимости.

ORM Объектно-реляционное отображение технология программирования, которая связывает базы данных с концепциями объектно- ориентированных языков программирования, создавая «виртуальную объектную базу данных». Википедия.

ORM Унифицированное АПИ. Генерация SQL запросов в одном месте (ORM). Сложная логика фильтров во всех сущностях. Переход на работу с объектами, а не массивами. Возможность выбирать связанные объекты необходимой вложенности и управлять объемом выбираемых данных. Тем не менее остается возможность управлять взаимодействием с СУБД, переопределять запросы. Поддержка пользовательских свойств (полей). Возможность автогенерации методов установки/выборки полей для использования autocomplete в популярных IDE.

ORM – описание данных Класс сущности содержит в себе описание структуры данных и связи. На основе этой информации строятся SQL запросы, set и get методы сущности по умолчанию. Поддержка пользовательских полей

ORM – выборка данных Класс сущности содержит в себе методы для выборки данных getList() и getById(). Выборка возвращает коллекцию для данной сущности. Генерацией SQL запроса занимается ORM, но в исключительных случаях можно ей помочь.

ORM – изменение данных Класс сущности содержит в себе методы для модификации данных Update, Add, Delete. Автоматическая поддержка событий до операции и в момент операции. Возможность группового изменения данных.

Давайте меняться вместе? Выпуск запланирован на осень 2012г Текущий функционал будет по возможности реализован на новом Framework и постепенно перестанет сопровождаться. Новая платформа будет подключаться по-другому и возможно будет вести постепенный переход со старой платформы и использовать их одновременно. Выскажите сейчас свое мнение и вы сможете повлиять на будущее платформы. – мы ждем Вас!

Спасибо за внимание! Вопросы?