Краткий сравнительный анализ платформ Новая Сказка и 1С
Это статья — это первая часть существующего сравнительного анализа платформы 1С и web платформы Новая Сказка от компании-разработчика СУПРОС. Сравнение идет по разным критериям.
Начинка: платформа и базы данных
Оба продукта являются программными платформами для разработки и работы прикладных решений. Таким образом, созданные на их основе решения наследуют достоинства и недостатки своих платформ. В состав платформ входят база данных, библиотеки объектов и средства работы с ними.
База данных — это фундамент любой программной платформы. Структура данных и «правильность» использования возможностей СУБД обеспечивают производительность, гибкость и масштабируемость решений.
Базы данных
Отличительной особенностью 1С является формирование структуры данных (за исключением базовых сущностей) «сверху» самим приложением (конфигурацией). В результате:
- Каждая отдельная база данных имеет собственную структуру.
- Крайне сложно (на практике не рекомендуется) интегрировать несколько решений в одной базе данных – общие сущности каждая из конфигураций разместит в своих таблицах.
- Структура базы данных не получается оптимальной (дублирование данных, нет связей, недостаточно индексов…). На больших объёмах это приводит к ощутимым замедлениям в работе.
- Требуется ручная оптимизация, но она лишь частично решает проблему и осложняется непредсказуемостью названий таблиц и полей.
- Невозможно в полной мере использовать предоставляемые СУБД средства обработки данных и администрирования, такие как схемы безопасности, хранимые процедуры, функции, представления, триггеры и т.д.
- Иными словами, 1С использует базу данных в основном как простое хранилище. При этом разработчики приложений не работают с данными непосредственно, а только средствами самой платформы.
Структура базы данных Новой Сказки фиксированная и открытая. Приложения могут расширять её, добавляя свои таблицы и средства обработки данных. Общие (для приложений) сущности содержатся в самой платформе и не дублируются.
Такой подход обеспечивает:
- Максимальную производительность и минимальный размер базы данных за счёт её оптимальной структуры. Фактически, производительность ограничивается только возможностями аппаратной части.
- Максимальную отдачу от встроенных в СУБД средств обработки данных, что значительно снижает нагрузку на клиентской части приложений.
- Минимальный трафик между клиентской частью приложением и базой данных.
- Предоставляет разработчикам прямой доступ к данным.
- Возможность администрирования доступа к данным на самом нижнем уровне.
Объектная модель и средства разработки
Собственно платформа 1С содержит базовый набор объектов, собственный встроенный язык программирования и среду разработки приложений (конфигуратор). Разработчики на самом верхнем уровне имеют возможность добавлять собственные прикладные объекты. В дальнейшем эти объекты используются в разрабатываемых ими элементах интерфейса и отчётах. Это так называемое «проблемно-ориентированное» программирование.
Такой подход позволяет разработчикам приложений меньше зависеть от разработчиков платформы, но вместе с этим приводит к «утяжелению» решений — функциональность, реализованная на уровне ядра, работает быстрее и надёжней. Кроме того, отсутствие координации разработчиков приложений со стороны платформы приводит к ограниченной взаимной интегрируемости решений разных разработчиков.
Исчерпывающая объектная модель содержится в самой платформе. Для разработки приложений используется подход декларативного программирования, когда разработчик только «описывает» что и как ему нужно отобразить и обработать (занимается разметкой элементов интерфейса). При этом он использует стандартные языки разметки XML и XAML (web-приложения). Для сложных обработок предоставлена возможность добавлять код, написанный с использованием стандартных языков программирования JavaScript и VBScript. Среда разработки на выбор разработчика – от простого текстового редактора до VisualStudio (с поддержкой схем). Для непосредственной работы с данными (отчёты, нестандартные проводки и т.п.) используется широкий набор средств и инструментов разработки, предоставляемый MS-SQL Server.
Декларативное программирование значительно сокращает время разработки и повышает надёжность работы приложений (платформа просто не выполняет ошибочный код разметки). Зависимость разработчиков приложений от функциональности платформы компенсируется скоростью реакции разработчиков платформы на их запросы.
Прикладные решения - конфигурации
Предлагает широкий выбор готовых решений для автоматизации учёта и управления на предприятиях различного размера и форм собственности.
Сильные стороны:
- Большое количество готовых решений.
Широкая партнёрская сеть. - Возможность вертикального роста решений (от desktop до web).
Слабые стороны:
- Ограничения горизонтального роста решений вследствие их слабой взаимной интеграции.
- Использование общих принципов и средств при разработке технологически разных приложений (desktop, client-server, web) не может положительно сказаться на их качестве.
- Низкая производительность из-за неоптимальной структуры баз данных и неполного использования возможностей СУБД.
- Вместо использования готовых программных инструментов сторонних разработчиков, создаются (и в последствие поддерживаются) собственные, уступающие в качестве специализированным.
- Сложный интерфейс (usability).
В силу своей относительной молодости имеет небольшое количество готовых решений.
Сильные стороны:
- Горизонтальная масштабируемость решений простым включением в них новых компонент.
- Высокая производительность и возможность размещения баз данных в интернет даже для desktop-решений.
- Удобный и интуитивно понятный пользовательский интерфейс.
- Возможность создавать индивидуальные интерфейсы для каждой группы пользователей.
- Возможность напрямую, без использования OLE-серверов работать с различным оборудованием (ЭККА, весы, принтеры этикеток и т.д.).
Слабые стороны:
- Недостаточный выбор готовых решений.
Резюме по статье
1С — масштабная самодостаточная универсальная система программ для автоматизации с наибольшим горизонтальным покрытием задач автоматизации.
Новая Сказка — мощная современная платформа для построения вертикальных решений. В настоящее время Новая Сказка не может вытеснить 1С, но с успехом может замещать его там, где в значительной степени проявляются его слабые стороны:
- Готовые решения.
- Решения, критичные к производительности.
- Решения, требующие распределённого хранения данных (торговые сети).
- Web-решения.