Чем занимается 1с разработчик

coding

Разработчики 1С создают приложения с помощью платформы «1С:Предприятие». Сегодня мы обсудим, чем именно программирование на платформе «1С:Предприятие» отличается от программирования на других популярных языках, и с чем ежедневно сталкивается разработчик «1С».

Необходимые знания

Порог вхождения в разработку 1С относительно не высокий, так же как и настройка 1с под нужды заказчика, как правило, не вызывает больших сложностей. Платформа «1С:Предприятие» предоставляет разработчику набор высокоуровневых классов метаданных, каждый из которых представляет определенную сущность бизнес-приложения, например, документ, каталог, бухгалтерский регистр, регистр заработной платы и т.д. Каждый класс метаданных является полнофункциональным и поставляется со своей структурой данных, логикой обработки данных и UX/UI.

Для разработки с использованием платформы необходимо понимать бизнес-логику (бухгалтерский учет, продажи, расчет заработной платы и т.д.) и как сопоставить ее с классами «1С:Предприятия». Что вам не нужно знать, так это как реализовать все остальное — какие таблицы использовать, как читать и записывать данные, как показывать их пользователям и как обрабатывать их ввод.

Просто создав объекты метаданных (унаследованные от классов метаданных Platform и получив их свойства и поведение), вы получите полностью функциональное (хотя и довольно простое) приложение или рабочий прототип, не написав ни строчки кода.

Поэтому он очень отличается даже от традиционных языков высокого уровня, таких как JavaScript или Python, где все начинается с написания кода и заканчивается написанием все большего и большего количества кода.

Обычно разработчик на платформе 1С не занимается следующими задачами:

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

Все эти задачи покрываются функционалом стандарта 1С, поэтому программисту даже не нужно знать, как с ними справляться.

Сравнение подходов

При разработке приложения «1С:Предприятие» вы обычно начинаете с прототипа без кода и для очень простых и стандартных приложений можете даже обойтись без написания кода. Затем вы переходите к стадии MVP вашего приложения, начиная добавлять умеренное количество кода то тут, то там, чтобы изменить поведение приложения по умолчанию. Этот подход с малым количеством кода может оказаться достаточно хорошим для вашего приложения, если оно относительно простое и не включает в себя ничего необычного.

Если же вашему клиенту требуется что-то очень сложное и/или необычное, вы переходите на полный код и используете мощный скриптовый язык 1С, который по-прежнему говорит с вами в деловых терминах и пытается скрыть от вас как можно больше низкоуровневых деталей. Это один из самых высокоуровневых языков программирования с синтаксисом, напоминающим JavaScript.

sreda-bystroj-razrabotki

Большинство манипуляций производится с заранее настроенными объектами и формами, поэтому разработчик 1С должен быть хорошо знаком с бизнес-требованиями и понимать бизнес-логику проекта. Многие стандартные задачи программирования, такие как создание интерфейсов или выбор между различными фреймворками и библиотеками, отпадают.

Если сравнивать подход 1С и традиционный подход к разработке программного обеспечения, то первый можно сравнить со строительством дома из блоков, а второй больше похож на строительство кирпичного дома и одновременное производство этих кирпичей. Основным следствием этого является количество усилий и времени, необходимых для разработки рабочего продукта.

Например, при запуске проекта Java- или Python-разработчик может потратить несколько недель на подготовку инфраструктуры проекта и выбор оптимального технологического стека. Разработчик 1С может пропустить этот этап, так как платформа «1С:Предприятие» уже полностью настроена для разработки и нет необходимости подбирать инструменты.

При традиционном подходе этап дальнейшей разработки и тестирования может длиться месяцами, прежде чем появится MVP, который можно будет представить заказчику. Разработчик 1С может создать рабочий продукт гораздо быстрее, так как нет необходимости создавать компоненты с нуля и принимать инфраструктурные решения.

Когда речь идет о масштабировании системы или адаптации ее для различных устройств и платформ, платформа 1С также хорошо оснащена: разработчику не нужно вручную менять код или добавлять что-либо, за исключением, может быть, незначительных правок. При традиционном подходе к разработке миграция на другую СУБД может быть сложным процессом, и при увеличении нагрузки на систему может потребоваться много оптимизации кода. Кроме того, если вы решите добавить мобильную версию приложения, вам, скорее всего, придется разрабатывать ее с нуля, в то время как с 1С вы можете просто запустить то же приложение в нашем мобильном клиенте, и оно будет автоматически адаптировано к меньшему размеру экрана и специфическому мобильному UX/UI.

Ограничения

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

Первое из них — относительно узкая сфера применения. 1С лучше всего подходит для разработки бизнес-приложений, таких как ERP, BI и BPM-системы. Если вам нужно приложение для управления ракетой в реальном времени или мобильная игра, лучше выбрать другое решение.

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

Заключение

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