L.A. lab | Сравнение платформ 1С и НОВАЯ СКАЗКА | L.A. lab

Сравнение платформ 1С и НОВАЯ СКАЗКА

Это статья — это первая часть существующего сравнительного анализа платформы 1С и web платформы Новая Сказка от компании СУПРОС. Сравнение идет по разным критериям.

1. Платформа. 

Оба продукта являются платформой для разработки и работы прикладных решений. Таким образом, созданные на их основе решения наследуют достоинства и недостатки своих платформ. В состав платформ входят база данных, библиотеки объектов и средства работы с ними.

1.1. База данных

Это фундамент любой программной платформы. Структура данных и «правильность» использования возможностей СУБД обеспечивают производительность, гибкость и масштабируемость решений.

1С. Отличительной особенностью является формирование структуры данных (за исключением базовых сущностей) «сверху» самим приложением (конфигурацией). В результате:

  • Каждая отдельная база данных имеет собственную структуру.
  • Крайне сложно (на практике не рекомендуется) интегрировать несколько решений в одной базе данных – общие сущности каждая из конфигураций разместит в своих таблицах.
  • Структура базы данных не получается оптимальной (дублирование данных, нет связей, недостаточно индексов…). На больших объёмах это приводит к ощутимым замедлениям в работе. Требуется ручная оптимизация, но она лишь частично решает проблему и осложняется непредсказуемостью названий таблиц и полей.
  • Невозможно в полной мере использовать предоставляемые СУБД средства обработки данных и администрирования, такие как схемы безопасности, хранимые процедуры, функции, представления, триггеры и т.д.
  • Иными словами, 1С использует базу данных в основном как простое хранилище. При этом разработчики приложений не работают с данными непосредственно, а только средствами самой платформы.

НОВАЯ СКАЗКА. Структура базы данных фиксированная и открытая. Приложения могут расширять её, добавляя свои таблицы и средства обработки данных. Общие (для приложений) сущности содержатся в самой платформе и не дублируются.

Такой подход обеспечивает:

  • Максимальную производительность и минимальный размер базы данных за счёт её оптимальной структуры. Фактически, производительность ограничивается только возможностями аппаратной части.
  • Максимальную отдачу от встроенных в СУБД средств обработки данных, что значительно снижает нагрузку на клиентской части приложений.
  • Минимальный трафик между клиентской частью приложением и базой данных.
  • Предоставляет разработчикам прямой доступ к данным.
  • Возможность администрирования доступа к данным на самом нижнем уровне.

1.2. Объектная модель и средства разработки

1С. Собственно платформа содержит базовый набор объектов, собственный встроенный язык программирования и среду разработки приложений (конфигуратор). Разработчики на самом верхнем уровне имеют возможность добавлять собственные прикладные объекты. В дальнейшем эти объекты используются в разрабатываемых ими элементах интерфейса и отчётах. Это так называемое «проблемно-ориентированное» программирование.

Такой подход позволяет разработчикам приложений меньше зависеть от разработчиков платформы, но вместе с этим приводит к «утяжелению» решений — функциональность, реализованная на уровне ядра, работает быстрее и надёжней. Кроме того, отсутствие координации разработчиков приложений со стороны платформы приводит к ограниченной взаимной интегрируемости решений разных разработчиков.

НОВАЯ СКАЗКА. Исчерпывающая объектная модель содержится в самой платформе. Для разработки приложений используется подход декларативного программирования, когда разработчик только «описывает» что и как ему нужно отобразить и обработать (занимается разметкой элементов интерфейса). При этом он использует стандартные языки разметки XML и XAML (web-приложения). Для сложных обработок  предоставлена возможность добавлять код, написанный с использованием стандартных языков программирования JavaScript и VBScript. Среда разработки на выбор разработчика – от простого текстового редактора до VisualStudio (с поддержкой схем). Для непосредственной работы с данными (отчёты, нестандартные проводки и т.п.) используется широкий набор средств и инструментов разработки, предоставляемый MS-SQL Server.

Декларативное программирование значительно сокращает время разработки и повышает надёжность работы приложений (платформа просто не выполняет ошибочный код разметки). Зависимость разработчиков приложений от функциональности платформы компенсируется скоростью реакции разработчиков платформы на их запросы.

2. Прикладные решения

1C. Предлагает широкий выбор готовых решений для автоматизации учёта и управления на предприятиях различного размера и форм собственности.

Сильные стороны:

  • Большое количество готовых решений.
  • Широкая партнёрская сеть.
  • Возможность вертикального роста решений (от desktop до web).

Слабые стороны:

  • Ограничения горизонтального роста решений вследствие их слабой взаимной интеграции.
  • Использование общих принципов и средств при разработке технологически разных приложений (desktop, client-server, web) не может положительно сказаться на их качестве.
  • Низкая производительность из-за неоптимальной структуры баз данных и неполного использования возможностей СУБД.
  • Вместо использования готовых программных инструментов сторонних разработчиков, создаются (и в последствие поддерживаются) собственные, уступающие в качестве специализированным.
  • Сложный интерфейс (usability).

НОВАЯ СКАЗКА.  В силу своей относительной молодости имеет небольшое количество готовых решений.

Сильные стороны:

  • Горизонтальная масштабируемость решений простым включением в них новых компонент.
  • Высокая производительность и возможность размещения баз данных в интернет даже для desktop-решений.
  • Удобный и интуитивно понятный пользовательский интерфейс.
  • Возможность создавать индивидуальные интерфейсы для каждой группы пользователей.
  • Возможность напрямую, без использования OLE-серверов работать с различным оборудованием (ЭККА, весы, принтеры этикеток и т.д.).

Слабые стороны:

  • Недостаточный выбор готовых решений.

3. Выводы

1С. Масштабная самодостаточная универсальная система программ для автоматизации с наибольшим горизонтальным покрытием задач автоматизации.

НОВАЯ СКАЗКА. Мощная современная платформа для построения вертикальных решений. В настоящее время НОВАЯ СКАЗКА не может вытеснить 1С, но с успехом может замещать его там, где в значительной степени проявляются его слабые стороны:

  • Готовые решения.
  • Решения, критичные к производительности.
  • Решения, требующие распределённого хранения данных (торговые сети).
  • Web-решения.