Создаем сайт ресторана на OneScript

Обмен - Интеграция с WEB

78
В статье изучаются возможности http-сервисов OneScript по созданию web-приложений на примере сайта ресторана

Введение

После создания новой версии каркасной конфигурации, для разработки web-приложений на основе http-сервисов OneScript, необходимо было на практике пощупать новые функции и оценить ее применимость для создания бизнес-ориентированых web-приложений. В качестве web-приложения, был выбран сайт небольшого ресторана или кафе. Как показал анализ выдачи гугла, этот вид приложений достаточно распространен в мире и как правило, представляет собой одностраничный сайт, позволяющий рассказать о ресторане, просмотреть меню и забронировать столик. Поскольку в 90% случаев при создании сайтов используются готовые шаблоны, я решил поступить таким-же образом. В готовых решениях Битрикс, был найден подходящий шаблон сайта (RestoPesto). Я обратился в компанию Novastar, которая является автором вышеуказанного решения, с просьбой предоставить мне этот шаблон для миграции на OneScript. Антон Яшин любезно предоставил мне ссылку на исходный шаблон, за что ему огромное спасибо. Как оказалось - это html шаблон на основе библиотеки bootstrap, который не содержит кода php.

О том, что получилось - вы можете прочитать ниже или посмотреть, нажав кнопку "Показать демо".

Системные требования

Компьютер под управлением Windows 7 или более поздней версии.

Установленный .NET Framework версии 4.5.2 или более поздней.

Платформа 1С:Предприятие версии не ниже 8.3.6.1977.

Первый тест

Файловая структура шаблона, после скачивания и распаковки имеет следующий вид:

 

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

Создадим общий макет, типа ТекстовыйДокумент, и поместим в него содержимое файла index.html.

Также создадим http-сервис, с корневым url – index.os, добавив функцию-обработчик GET-запроса нижеследующего содержания:

 

Добавим созданные объекты в подсистему ОбъектыКонфигурацииWebПриложения.

 

Выгрузим конфигурацию, затем в режиме предприятие создадим и обновим web-приложение.

Скопируем папки изображений, js-скриптов etc. В папку web-приложения, таким образом, что файловая структура web-приложения будет иметь нижеследующий вид:

 

Для доступа к локальным файловым ресурсам из 1С:Предприятие, для web-публикации 1С:Предприятие создадим правила url rewrite.

 

Протестируем наше web-приложение и убедимся, что его поведение не отличается от поведения демонстрацинного сайта-источника.

 

Внешний вид сайта

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

Шапка

 

Содержит логотип компании и главное меню для навигации по разделам страницы. Обычно, эта информация остается неизменной.

Приветствие (Welcome)

Фактически - это начальный экран, на который попадает пользователь при открытии сайта. В верхней части находится слайдер изображений, с поясняющим текстом для каждого изображения (Заголовок, Заголовок1, Текст ). В нижней части - текст с кратким описанием заведения, фотография, а также заголовки к данному функциональному разделу. Обычно данная информация постоянна, либо меняется достаточно редко.

Специальные блюда (Specialties)

 

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

Меню (Menu)

 

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

Резервирование столика (Reservation)

 

Данная секция содержит фоновое изображение, заголовки секции, а также форму заказа столика. Информация в этой секции может считаться условно-постоянной.

События ресторана (Events)

 

Данная секция содержит информацию о предстоящих событиях, которые будут происходить в заведении. Это могут быть дни каких-либо блюд, праздники etc. Также как и предыдущая, данная секция содержит фоновое изображение и заголовки секции, которые можно считать условно-постоянными, а также список событий, который может обновляться достаточно часто. В дальнейшем, мы более подробно остановимся на динамической генерации списка событий.

Контакты (Contact)

 

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

Подвал

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

Условно-постоянная информация

Поскольку хранение условно-постоянной информации в информационной базе учетной системы нецелесообразно и в то же время необходимо обеспечить возможность ее настройки, в качестве своеобразного хранилища различных заголовков, ссылок на изображения etc. Используем макет типа ТекстовыйДокумент, где данная информация будет представлена в формате yaml.

Для работы с данными в формате yaml, добавим методом сравнения/объединения (не забывая объединить состав подсистем) в нашу конфигурацию соответствующую библиотеку. Также, заимствуем методом Ctrl+C, Ctrl+V общий модуль, с функциями для работы с шаблонами из этой демонстрационной конфигурации.

Cоздадим общий макет типа ТекстовыйДокумент с именем ОформлениеСайта и поместим его (и общий модуль Макеты) в подсистему ОбъектыКонфигурацииWebПриложения.

Импортируем прочие файлы приложения, затем добавим полученный архив в макет ПрочиеФайлы, а сам макет в подсистему ПрочиеФайлыWebПриложения.

Отредактируем исходный код страницы, разделив его на области вывода, заменим необходимый текст на параметры и внесем параметры в макет ОформлениеСайта. При этом, на данном этапе оставим области, отвечающие за вывод специальных блюд, меню и событий как есть.

Также отредактируем код нашего http-сервиса с учетом вывода областей. При этом содержимое макета ОформлениеСайта и код http-сервиса примут нижеследующий вид:

 

 

 

 

Обновим наше web-приложение и протестируем его.

 

Как можно увидеть, наше web-приложение аналогично оригиналу и имеет возможность изменения оформления.

Вывод списка специальных блюд

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

Объекты в учетной системе

Для эмуляции соответствующих объектов учетной системы, создадим справочники Номенклатура, ВидыНоменклатуры, а также документ УстановкаЦенНоменклатуры. Эти объекты будут содержать информацию, соответственно о блюдах (Номенклатура), категориях блюд (ВидыНоменклатуры), а также их стоимости (УстановкаЦенНоменклатуры).

Также, создадим нестандартный документ СпециальныеБлюда, который будет содержать список блюд, которые мы будем считать специальными и выводить их в соответствующем разделе сайта.

Объекты на стороне сайта

Для хранения необходимых данных на стороне сайта используем СУБД SQLite. Изображения блюд будем хранить в отдельных файлах.

Для удобства дальнейших действий, создадим некое подобие ER-диаграммы, а также http-сервис, в который впоследствии поместим скрипт создания БД.

 

Также, в папке web-приложения создадим папку db, где будет расположен файл БД сайта, и добавим разрешения на запись аккаунту, из под которого выполняется наше web-приложение.

Создадим параметры соединения с СУБД

 

Создадим запрос на создание таблицы category и выполним его.

 

В процессе выполнения команды возникнет исключительная ситуация, которая обусловлена ошибкой в коде и не влияет на выполнение команды.

Проверим наличие таблицы, выполнив запрос на чтение из этой таблицы.

 

Сформируем код запроса, скопируем его и вставим в http-сервис создания БД.

 

Аналогичным образом создадим другие таблицы и сформируем код создания БД, а также саму БД.

При этом код создания нашей БД (обработчик http-сервиса createdb.os) будет выглядеть примерно следующим образом

 

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

Для решения этой задачи, используем библиотеку HttpMeans, которая не входит в каркасную конфигурацию, поэтому подключим эту библиотеку "вручную".

Для этого, создадим подсистему БиблиотекаСредстваHTTP, общий макет типа ДвоичныеДанные с именем ИсполняемыеФайлыБиблиотекаСредстваHTTP, поместив его в вышеуказанную подсистему, а также в подсистему ИсполняемыеФайлыWebПриложения.

Скачаем последнюю версию библиотек c github'а, удалим из архива все dll, кроме HttpMeans.dll и поместим получившийся архив в макет.

Создадим общий макет типа ТекстовыйДокумент с именем appSettingsHttpMeans и добавим его в подсистемы БиблиотекаСредстваHTTP и СекцияAppSettingsФайлаWebConfig.

В соответствии с документацией, добавим в содержимое макета необходимый ключ, для регистрации библиотеки в OneScript.

Поскольку данная библиотека пока не имеет кросплатформенной реализации, создадим общий модуль ПлатформозависимыеФункции, куда мы будем помещать все платформозависимые функции (в нашем случае - это преобразование виртуального пути в физический), а также модуль СлужебныеФункции, куда мы будем помещать различные вспомогательные функции (в нашем случае - это функция создающая соединение с БД) и поместим их в подсистему  ОбъектыКонфигурацииWebПриложения.

Реализуем функцию, возвращающую открытое соединение к БД, примерно следующим образом

 

А также функцию, преобразующую виртуальный путь в физический

 

Создадим новые параметры соединения с СУБД с кодом DbConn, копированием параметров TestConn и заменим физический путь на строку {{ПутьКФайлуБД}}.

 

Сгенерируем необходимые ключи и вставим их в соответствующие макеты.

 

В нашем случае - это макеты connectionStringsПоУмолчанию и appSettingsПоУмолчанию.

Также изменим код обработчика http-сервиса createdb таким образом, чтобы он для создания соединения с СУБД использовал функцию ПлатформозависимыеФункции.НовыйСоединениеБД.

В дальнейшем, мы будем использовать ее во всех наших функциях, реализующих работу с БД.

Обмен данными между 1С:Предприятие и сайтом

Для обмена между учетной системой и сайтом используем механизм, аналогичный тому, что использовался в демонстрационной конфигурации интернет-магазина. Суть механизма обмена учетная система->сайт можно представить в виде последовательности нижеследующих действий:

У каждого объекта конфигурации, учавствующего в обмене (в данном случае - это справочники ВидыНоменклатуры, Номенклатура, документы - УстановкаЦенНоменклатуры, а также СпециальныеБлюда) создаются подписки на события ПриЗаписи, ПередУдалением для справочников и ОбработкаПроведения, ОбработкаОтменаПроведения для документов.

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

Элемент очереди изменений представляет собой документ, который содержит признак вида изменений, а также данные об изменяемом объекте в формате json.

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

В случае неудачи, к примеру временного отсутствия связи с сайтом, попытка обновления будет предпринята при следующем запуске регламентного задания.

Для реализации данного механизма, методом Ctrl+C, Ctrl+V перенесем необходимые объекты в нашу конфигурацию и добавим их в подсистему RestoОбъекты1С.

Создадим общий модуль ОбменССайтом, куда поместим необходимые обработчики подписок на события, а также http-сервисы, которые будут обновлять данные на стороне сайта.

Пример создания обмена с сайтом

В качестве примера, рассмотрим процесс реализации обмена справочника ВидыНоменклатуры.

Создадим подписки на события с именами ОбновитьВидНоменклатурыНаСайте и УдалитьВидНоменклатурыНаСайте.

В качестве источника событий, укажем справочник ВидыНоменклатуры.

Первая подписка будет обрабатывать событие ПриЗаписи, которое возникает при записи нового элемента справочника или обновлении существующего элемента. Вторая подписка будет обрабатывать событие ПередУдалением, которое возникает перед удалением элемента справочника. Код обработчиков подписок представлен ниже:

 

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

 

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

Для выполнения обновлений на стороне сайта, создадим http-сервисы uc.os и dc.os, которые будут соответственно создавать новые или обновлять существующие категории, а также удалять категории, которые были удалены в учетной системе.

Для облегчения работы, в консоли работы с СУБД, создадим запрос, который создает новый элемент таблицы category, которая является представлением справочника ВидыНоменклатуры на сайте.

 

И выполним его.

Для просмотра результатов выполнения - создадим запрос, который получает запись из таблицы категорий, по определенному id

 

Как можно увидеть, запись с указанными нами параметрами была успешно добавлена в БД.

Для удаления категорий, создадим запрос, который удаляет запись в таблице с определенным Id

 

Установим значение параметра id таким же как при добавлении и выполним запрос.

Для проверки откроем запрос получения записи по id и выполним его.

 

Как можно увидеть, запись была успешно удалена.

Создадим обработчики http-сервисов uc.os и dc.os, используя автоматически-генерируемый код ранее созданных запросов.

 
 

Обновим web-публикацию 1С:Предприятие, добавив созданные http-сервисы.

В режиме предприятия, заполним значения констант ИмяХостаСайта (в нашем случае - localhost), а также ОтносительныйUrlСайта (в нашем случае - /Resto2/hs/).

Создадим элемент справочника ВидыНоменклатуры и через некоторое время посмотрим на очередь обновлений.

 

Проверим наличие категории на сайте.

 

Изменим наименование, а также, пометим элемент справочника к удалению.

Вновь просмотрим очередь обновлений и состяние объекта в БД.

 
 

Как можно увидеть, изменения в учетной системе успешно реплицируются на сайт.

Удалим элемент справочника и убедимся, что он исчез из БД сайта.

Аналогичным образом запрограммируем обмен для остальных объектов учетной системы и протестируем работоспособность.

Вывод списка

Получение данных

Как вы помните, за список специальных блюд в учетной системе отвечает документ СпециальныеБлюда, а на сайте соответственно таблицы special_products и special_product. Данные объекты однозначно определяют список специальных блюд, который необходимо отображать на сайте, начиная с некоторой даты и времени, которые определяются датой и временем документа. Поскольку в реальной жизни эти списки могут меняться, к тому же мы можем составлять такие списки будующей датой (скажем через неделю у нас начинается акция, которая продлится две недели), для начала необходимо определить документ-список, который действует в настоящий момент времени.

Для тестирования нашего запроса создадим два документа, один будет прошедшей датой, а другой - будующей.

 
 
 

Дождемся завершения репликации данных на сайт и приступим к написанию запроса.

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

 

Поскольку в списке специальных блюд должны быть представлены цены, создадим запрос, который получает актуальные цены номенклатуры. Также как и в предыдущем случае, цены могут меняться со времененем, а также в системе могут быть документы, которые устанавливают цены будующей датой.

Для тестирования запроса, создадим три документа установка цен номенклатуры, один из которых будет будующим числом.

 
 
 

Затем, создадим и протестируем соответствующий запрос

 

Исходя из визуального представления списка специальных блюд, в нем присутствует информация о наименовании блюда, его описании, изображение, а также актуальная цена.

Создадим и протестируем запрос, возвращающий вышеуказанную информацию для актуального документа-списка, скомбинировав ранее созданные запросы.

 

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

 

Отображение на странице

В макете главной страницы, отредактируем область СпециальныеБлюда так, что она примет нижеследующий вид:

 

В модуле http-сервиса, отредактируем функцию ВывестиСписокСпециальныхБлюд, в соответствии с внесенными изменениями:

 

Обновим конфигурацию и протестируем вывод.

 

Вывод меню ресторана

Фактически, меню ресторана - это список товаров (блюд), которые ресторан предлагает к продаже. Конечно, этот список может меняться со временем. Также, возможны такие ситуации, когда меню формируется на предстоящий период заранее. Как правило, меню группируется по видам (напитки, первые блюда, закуски etc.). Соответственно при выводе меню на сайте необходимо предусмотреть данную группировку. 

Объекты в учетной системе

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

Объекты на стороне сайта

В БД сайта, создадим таблицы product_lists и product_list аналогично тому, как это было сделано для документа СпециальныеБлюда (таблицы special_products и special_product).

 

Обмен данными между 1С:Предприятие и сайтом

Для организации обмена, создадим подписки обработки проведения и обработки отмены проведения аналогично тому, как это было сделано для документа СпециальныеБлюда. Также, создадим http-сервисы upl и dpl, аналогично тому, как это было сделано для других объектов.

Затем, необходимо опубликовать новые http-сервисы и обновить переопределения Url.

Вывод меню

Для простоты, порядок вывода категорий блюд, будет определяться кодом соответствующих элементов справочника ВидыНоменклатуры.

Получение данных

Получение данных из БД аналогично получению данных списка специальных блюд. Создадим и соответствующий запрос в консоли запросов, а затем перенесем его в функцию ПолучитьМенюРесторана.

 

Отображение на странице

Преобразуем область МенюРесторана в макете главной страницы таким образом, чтобы он принял нижеследующий вид:

 

Обновим конфигурацию, опубликуем вновь созданные http-сервисы, создадим несколько видов номенклатуры и распределим ранее созданные товары между ними. Затем, протестируем сделанные изменения. Меню ресторана будет отображаться примерно следующим образом:

 

Заказ столика

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

Схема обмена данными

Поскольку возможно наш сайт будет находиться на хостинге, а учетная система в офисе ресторана, возможны случаи перебоев со связью, между рестораном и сайтом. Поэтому мы будем сохранять заявки, созданные клиентами непосредственно на сайте. Также, с целью экономии лицензий и упрощения инфраструктуры мы не будем публиковать какие-либо сервисы учетной системы во внешний мир. Учетная система будет периодически (при помощи регламентного задания) обращаться к сайту и получать новые заявки. Таким образом, алгоритм обмена заявками на бронирования будет примерно следующим:

Клиент заполняет данные формы и нажимает кнопку подтверждения заявки.

Заявка сохраняется в локальной БД сайта.

Клиент получает сообщение о том, что его заявка принята.

Учетная система запрашивает информацию о заявках и формирует соответствующие документы.

После того, как документы созданы, учетная система сообщает сайту информацию о заявках, которые можно удалить из локальной БД сайта.

Соответствующий сервис сайта удаляет заявки, которые уже есть в учетной системе.

Создание заказа на основании данных web-формы

В исходном шаблоне, передача данных введенных клиентом осуществляется посредством отпраки post запроса с данными формы. Данный метод является стандартным и достаточно простым, однако при его использовании страница будет перерисована заново. Также, будут некоторые неудобства, связанные с выводом сообщения об успешном или неуспешном создании заявки. В нашем случае, при нажатии кнопки подтверждения мы будем формировать ajax запрос к http-сервису сайта, который будет создавать заявку в локальной БД сайта и возвращать результат этой операции. После выполнения запроса, пользователю будет выведено диалоговое окно с соответствующим сообщением. В серьезных проектах, данный функционал должны реализовывать разработчики frontend части, а мы должны пердоставить соответствующие http-сервисы, однако поскольку таких разработчиков под рукой не оказалось  - я позаимствовал идею и основу кода  у коллег из Novastar.

Отредактируем шаблон нашей страницы нижеследующим образом:

Создадим блок, соответствующий диалоговому окну

 

Подключим jQuery и добавим обработчик нажатия кнопки подтверждения заказа, который будет отправлять запрос с данными формы в формате JSON и выводиить соответствующее диалоговое окно.

 

Объекты на сайте

При помощи консоли запросов, создадим в БД таблицу order, которая будет отвечать за хранение заявок на резервирование.

 

Объекты в учетной системе

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

Обмен данными

Создадим http-сервис no.os, который будет принимать введенные данные и сохранять в локальной БД.

 

Создадим http-сервис go.os, который будет возвращать заказы из БД сайта в учетную систему для импорта

 

Создадим http-сервис do.os, который будет удалять заказ с определенным идентификатором, после появления его в учетной системе

 

Создадим регламентное задание ПолучитьЗаявкиССайта, с нижеследующим обработчиком:

 

Обновим конфигурацию ИБ, опубликуем новые http-сервисы и протестируем функционал.

 
 
 

События ресторана

Создание галереи событий ресторана аналогично созданию списка специальных блюд. В учетной системе, события представлены справочником СобытиеРесторана, который аналогичен справочнику Номенклатура. Список событий на сайте формируется документом УстановкаСобытийРесторана. На стороне сайта, этим объектам соответствуют таблицы event, event_lists и event_list. Для обмена данными используются http-сервисы ue.os, de.os, uel.os, del.os.

Обратная связь

Реализация этого функционала аналогична реализации приема заявок на резервирование. На стороне учетной системы, обращения клиента представлены документом ОбращениеКлиента. На стороне сайта, данный объект представлен таблицей feedback. Для обмена данными используются http-сервисы cf.os, gf.os и df.os.  Для периодического получения обращений клиентов используется регламентное задание ПолучитьОбращенияКлиентов.

Итоговая структура БД сайта представлена на рисунке ниже.

 

Создание web-приложения OneScript

Поскольку в процессе создания и тестирования приложения мы добавили строку соединения с СУБД, а также библиотеку СредстваHTTP, нам необходимо полностью перевыгрузить приложение. Однако, поскольку учетная система и БД сайта уже содержат некоторые данные, перед полной выгрузкой приложения сформируем архив "прочие файлы" и поместим его в одноименный макет. Обновим конфигурацию и выгрузим ее в файлы. Затем, в режиме предприятия на всякий случай создадим архив нашего приложения. Далее обновим приложение с установленным чекбоксом Обновить приложение. Также необходимо заново добавить права на запись для папок db и img пользователю IUSR.

Протестируем созданное приложение.

Развертывание web-приложения.

Для развертывания в различных средах, могут быть использованы методики, описанные в статьях:

В нашем случае - развернем приложение на web-хостинге.

Заключение

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

Теперь о впечатлениях, полученных в процессе создания данной демонстрационной конфигурации:

Код является практически полностью переносимым. Непереносимой является единственная функция, преобразующая виртуальный путь в физический :

 

Инструменты для работы с БД оказались достаточно удобными и вместе с автогенерацией кода сэкономили массу времени при разработке и отладке.

Механизм сравнения/объединения оказался удобным, для включения библиотек.

Механизм макетов также оказался кстати, так как не приходилось думать о размещении файлов.

Хранение конфигурационных файлов в формате yaml также оказалось очень удобным, ввиду возможности динамического добавления элементов и читаемого вида.

Конечно для создания web-приложений необходимы хотя-бы базовые знания html, css и javascript, поскольку небольшие правки практически неизбежны. Альтернативой является наличие отдельного специалиста по frontend.

Неудобным является необходимость программировать обмен для каждого объекта информационной базы, который должен быть отображен на сайте. В результате появляется большое количество http-сервисов с похожим кодом. Хотя этот код несложен и быстро создается, особенно с использованием автогенерации, все-таки это отнимает время и его создание является достаточно нудным занятием.  По всей видимости эту проблему можно решить, создав подсистему, в которой будет реализован обмен "типовых" справочников и документов, которую можно включать сравнением/объединением в новые проекты.

 

 

78

Скачать файлы

Наименование Файл Версия Размер
Создаем сайт ресторана на OneScript:
.cf 14,36Mb
19.06.18
8
.cf 14,36Mb 8 Скачать

См. также

Лучшие комментарии
19. amd1986 21.06.18 12:53 Сейчас в теме
(17)Давайте с БУС битрикса, хотя я его не знаю прям очень сильно.
1.
- Механизмы автоматического бэкапирования
- Оповещение через смс и тд, когда сайт лежит
- Ддос защита
- Защита от взлома(хотя бы двухфакторная авторизация)

2. Я тоже не знаю нюансов, но они есть 100%(например требование для моб. устройств). Для того, чтобы знать - нужно быть в теме - а это время и спец человек. Тот же самый CEO, интеграция с условным яндекс маркетом и соц сетями.

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

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

-Например клиент захотел функционал оплаты через банковские карты. Сколько будет стоить запилить такой функционал? В том же самом битриксе(и не только) это уже реализовано по умолчанию. Да ладно с этим. Как вы будете обходить закон ФЗ-54? Или интеграция с кладр. Или интеграция ФСН.

- Еще очень простой пример - рассылки клиентам, скидки(полнофункциональные) или чатик. Казалось бы - мелочь, но тоже важная вещь.
Alien_job; +1 Ответить
Остальные комментарии
Сортировка: Древо
1. Gureev 20.06.18 10:25 Сейчас в теме
Отличная статья!

Единственный вопрос:
Это хобби? Или os+web используется для решения реальных бизнес задач?
Pavel_Dv; DrAku1a; +2 Ответить
5. blackhole321 729 20.06.18 11:49 Сейчас в теме
(1)Используется в паре небольших проектов.
2. Alien_job 140 20.06.18 10:47 Сейчас в теме
Где можно пощупать результат и будет ли пример прикручивания оплаты?
3. blackhole321 729 20.06.18 11:08 Сейчас в теме
(2)Результат - по кнопке "Показать демо". Конфигурация - в аттаче к публикации. Код открыт. Можете развернуть у себя etc.
Пример прикручивания оплаты - можно конечно сделать.
JohnyDeath; Soloist; +2 Ответить
4. Alien_job 140 20.06.18 11:30 Сейчас в теме
(3) Спасибо, не знал про эту кнопку
JohnyDeath; Soloist; +2 Ответить
6. iolko 177 20.06.18 12:43 Сейчас в теме
Все отлично и доступно. Можно ли данный функционал залить на рабочий хостинг? Т.е. полноценно использовать это решение.

Так же есть ли вариант "прикрутить" платежные сервисы ? Допустим Сбер банк?
9. blackhole321 729 20.06.18 12:59 Сейчас в теме
(6)
Можно ли данный функционал залить на рабочий хостинг? Т.е. полноценно использовать это решение.

Да, конечно, только хостинг должен поддерживать asp.net
Вот пример

Так же есть ли вариант "прикрутить" платежные сервисы ? Допустим Сбер банк?

Да. Каждая эквайринговая система предоставляет api (как правило - это POST-запросы + json), а также виджеты кнопок, для перехода на страницу оплаты (ввод номера карты etc.).
Наверное таки надо сделать демо-пример оплаты :)
10. aximo 670 20.06.18 13:51 Сейчас в теме
11. Evil Beaver 5183 20.06.18 14:07 Сейчас в теме
А конфигурация, генерирующая сущности БД - это она? https://infostart.ru/public/817239/
12. blackhole321 729 20.06.18 14:11 Сейчас в теме
(11)
А конфигурация, генерирующая сущности БД - это она?

Нет, это была первая версия.
Вот эта
https://infostart.ru/public/841785/
13. Evil Beaver 5183 20.06.18 14:19 Сейчас в теме
14. amd1986 20.06.18 19:20 Сейчас в теме
Все красиво, главное вопрос трудозатрат и масштабируемости. Судя по ним все печально.
15. blackhole321 729 20.06.18 19:32 Сейчас в теме
(14)Что привело Вас к такому заключению?
Alien_job; +1 Ответить
16. amd1986 21.06.18 11:48 Сейчас в теме
(15)
1. Разработка этого, поддержка и расширение требует значительно больших(в разы) трудозатрат, чем использования готовых решений(пусть даже платных).
2. Сейчас куча требований от ya и google по сайтам, если их не выполнять, сайт будет в перде и тд. Интеграция с различными сервисами.
3. Отказоустойчивость низкая.
Alien_job; +1 Ответить
17. blackhole321 729 21.06.18 11:57 Сейчас в теме
(16) Давайте по пунктам, если не возражаете:

3. Отказоустойчивость низкая.

Почему Вы так считаете? Что конкретно ее снижает по сравнению - ну пусть будет с битриксом (или приведите Ваш пример)?
2. Сейчас куча требований от ya и google по сайтам, если их не выполнять, сайт будет в перде

Какие же конкретно хитрые требования, которые трудновыполнимы в данном случае предъявляют яндекс и гугл?
1. Разработка этого, поддержка и расширение требует значительно больших(в разы) трудозатрат, чем использования готовых решений(пусть даже платных).

Опять таки непонятно, на основании чего сделан такой вывод. Пожалуйста разверните Вашу мысль, лучше с небольшим конкретным примером.
Alien_job; +1 Ответить
19. amd1986 21.06.18 12:53 Сейчас в теме
(17)Давайте с БУС битрикса, хотя я его не знаю прям очень сильно.
1.
- Механизмы автоматического бэкапирования
- Оповещение через смс и тд, когда сайт лежит
- Ддос защита
- Защита от взлома(хотя бы двухфакторная авторизация)

2. Я тоже не знаю нюансов, но они есть 100%(например требование для моб. устройств). Для того, чтобы знать - нужно быть в теме - а это время и спец человек. Тот же самый CEO, интеграция с условным яндекс маркетом и соц сетями.

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

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

-Например клиент захотел функционал оплаты через банковские карты. Сколько будет стоить запилить такой функционал? В том же самом битриксе(и не только) это уже реализовано по умолчанию. Да ладно с этим. Как вы будете обходить закон ФЗ-54? Или интеграция с кладр. Или интеграция ФСН.

- Еще очень простой пример - рассылки клиентам, скидки(полнофункциональные) или чатик. Казалось бы - мелочь, но тоже важная вещь.
Alien_job; +1 Ответить
20. blackhole321 729 21.06.18 13:45 Сейчас в теме
(19)
Я тоже не знаю нюансов

Тогда предлагаю вычеркнуть этот пункт

1.
Механизмы автоматического бэкапирования.

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

Оповещение через смс и тд, когда сайт лежит.

Аналогично с п. выше. Никакого отношения к отказоустойчивости не имеет. Самый простой и правильный вариант проверки работоспособности сайта, который используется и в таких системах, как System Center - это периодическая отправка тестовых http-запросов, желательно также и из сегмента сети клиентов. Соответственно создаете регламентное задание и вперед.

- Ддос защита

Если Вы размещаете сайт на хостинге, то как правило - она есть. Если у себя - и подчеркну это актуальная проблема, то наилучшим решением - будет покупка соответствующего hardware.
Я скептически отношусь к встроенным в cms средствам защиты от DDoS атак и сомневаюсь, что приведенное Вами software может защитить от атак типа icmp storm etc.

- Защита от взлома

Пожалуйста расскажите подробнее, что Вы имеете ввиду, т.к. это понятие очень обширное (можно книгу написать).
Fox-trot; Alien_job; +2 Ответить
21. amd1986 21.06.18 14:12 Сейчас в теме
(20)
Если я не знаю именно(нет перед глазами списка), то это не значит что его нет. Требования есть - это факт. И у гугла и у яндекса. Например яндекс: https://yandex.ru/support/webmaster/recommendations/intro.xml#intro.

Если сайт не будет работать, то спрашивать будут у вас. Вы будете чинить, а не хостер. А если данные сайта потеряются - вы будете страдать, а не хостер. Хостер далеко, вы рядом.

Например самая модная штука: двухфакторная авторизация( по 2 параметрам - паролю и телефону.)
Alien_job; +1 Ответить
30. blackhole321 729 21.06.18 23:09 Сейчас в теме
(21)
(21)
Требования есть - это факт. И у гугла и у яндекса. Например яндекс:

Ну и? Какие там особенные требования, которые нельзя реализовать в сайте на простых html страницах?

Например самая модная штука: двухфакторная авторизация( по 2 параметрам - паролю и телефону.)

Сайт без двухфакторной авторизации будет понижен в выдаче или заблокирован?
Это говорят вышеприведенные правила?

Давайте-таки ближе к теме :) Хорошо, что Вы нашли ссылку на рекоммендации.
22. blackhole321 729 21.06.18 14:46 Сейчас в теме
(19)
А потом я не смогу от вас соскочить, т.к. другой разработчик не сможет разобраться в вашей разработке и они выпишут огроменный счет.

Это на мой взгляд какие-то надуманные страхи.
Если мы ведем речь о сайте из статьи, где пяток (ну пусть будет 20) таблиц и одна страница - то найти разработчика, который не разберется будет сложно, хотя и возможно. Если мы говорим об большом и сложном проекте - то Вы и так не соскочите ввиду сложности проекта либо получите, как Вы написали, огроменный счет.

Возьмем тот же самый битрикс. Очень много сайтов для серьезных клиентов сделано на нем. Я точно буду знать, что их решение работает.

Вы не поверите, но на ASP.NET сделано не меньше сайтов для не менее крупных клиентов, достаточно взглянуть на stackoverflow или microsoft с Azure :)

-Например клиент захотел функционал оплаты через банковские карты. Сколько будет стоить запилить такой функционал? В том же самом битриксе(и не только) это уже реализовано по умолчанию. Да ладно с этим. Как вы будете обходить закон ФЗ-54? Или интеграция с кладр. Или интеграция ФСН.


Это все болезни начального этапа. Если инструмент удобный - то появится и все то, о чем Вы написали :)
Кстати Вы полагаете, что функционал оплаты банковскими картами настолько сложен, что требует для своей реализации огромных трудозатрат?


Как вы будете обходить закон ФЗ-54?

А зачем его обходить? Вы полагаете, что скажем эквайринг Сбербанка, Яндекс Кассы или Робокасса не поддерживают требования этого закона?
Alien_job; +1 Ответить
23. amd1986 21.06.18 15:33 Сейчас в теме
(22)
Надуманные страхи? Вы рассматриваете все со стороны разработчика. Клиентам(заказчикам) плевать на ваши суждения. Им главное приемлемый результат, как можно дешевле и меньшими рисками. Ваш пример в принципе не имеет конкурентных преимуществ для стороннего клиента. Если бы я был безденежный студент, который захотел бы себе запилить сайт - такой вариант подошел бы. Да и то, нужно 1С покупать, а это деньги.

Более того, нахрена тут 1С? Здесь по сути нет никакого учета. Это все можно на сайте запилить. Но вместо этого, а давайте на 1С! Заплатим за него, сделаем одно узкое место(обмен)
Soloist; Alien_job; +2 Ответить
24. blackhole321 729 21.06.18 16:28 Сейчас в теме
(19)
Я правильно понимаю, что остальные вопросы отпали :)?

Ваш пример в принципе не имеет конкурентных преимуществ для стороннего клиента.

Неплохо-бы к этой фразе добавить три слова: по моему мнению

Им главное приемлемый результат, как можно дешевле и меньшими рисками.

Абсолютно верно. И в случае, когда у вас уже есть разработчики 1С, которые владеют предметной областью, а также имеют необходимые знания о бизнес-процессах компании и учетной системе, возможно более дешевым и менее рискованным будет вариант - заказать frontend у web-студии и сделать backend своими силами.

Да и то, нужно 1С покупать, а это деньги.

Мы не рассматриваем сферического клиента в вакууме. Предполагается, что у клиента уже есть учетная система на платформе 1С-предприятие. Соответственно сайт является частью учетной системы предприятия.

Более того, нахрена тут 1С? Здесь по сути нет никакого учета.

Ну хорошо, рассмотрим не примере конфигурации из статьи :)
Скажем, у Вас есть ресторан, в ресторане Вы используете скажем 1С:Ресторан (подставьте название подходящей конфигурации). В учетной системе УЖЕ формируется меню. Вы предлагаете вводить его руками на сайте? Также у вас со временем могут меняться цены. Поступим аналогично? Скажем у вас появляются некие блюда со скидками, и их введем вручную?
Наверное нам придется нанять человека, который все это будет делать?
Ну и т.п. :)
Fox-trot; Alien_job; +2 Ответить
25. amd1986 21.06.18 17:29 Сейчас в теме
(24)
Неплохо-бы к этой фразе добавить три слова: по моему мнению


Да, мое мнение. И судя по статистике - мое мнение право. Собственные разработки имеют только крупные компании. Мелкие, которые сидят на своих - потенциальный клиент распространенных систем.

(24)
Абсолютно верно. И в случае, когда у вас уже есть разработчики 1С, которые владеют предметной областью, а также имеют необходимые знания о бизнес-процессах компании и учетной системе, возможно более дешевым и менее рискованным будет вариант - заказать frontend у web-студии и сделать backend своими силами.

Дело в ресурсах.
- Вы хоть представляете сколько сделать серьезный проект с нуля? И сколько его поддерживать? Думаете крупняк(не буду уточнять специально) стал бы покупать интерпрайз решения за миллионы, если можно сделать все с нуля? Думаете там олени сидят?
- Дело в специалистах. Много вы найдете толковых специалистов в сайтостроении? Скажу так, толковые в стране уже на хороших местах. Свободных быстро разбирают. Небольшие компании толковых не потянут.

Для дипломной работы, сойдет. Для бизнеса нет. Слишком дорого.

(24)
Ну хорошо, рассмотрим не примере конфигурации из статьи :)
Скажем, у Вас есть ресторан, в ресторане Вы используете скажем 1С:Ресторан (подставьте название подходящей конфигурации). В учетной системе УЖЕ формируется меню. Вы предлагаете вводить его руками на сайте? Также у вас со временем могут меняться цены. Поступим аналогично? Скажем у вас появляются некие блюда со скидками, и их введем вручную?
Наверное нам придется нанять человека, который все это будет делать?
Ну и т.п. :)

Вот, подошли уже к типовым конфигурациям 1С. А вы в курсе, что для типовых конфигураций 1С есть обмен с распространенными платформами разработки сайтов/им? Даже уже в типовые конфигурации внедрена интеграция по commerce ML.
Вы вместо того, чтобы разобрать в уже существующих механизмах - разрабатываете свои, тратя на это в десятки раз больше времени.
Soloist; Alien_job; +2 2 Ответить
26. blackhole321 729 21.06.18 18:23 Сейчас в теме
(25)
Вот, подошли уже к типовым конфигурациям 1С. А вы в курсе, что для типовых конфигураций 1С есть обмен с распространенными платформами разработки сайтов/им?

Честно говоря - не в курсе. А подскажите пожалуйста, с какими cms есть штатный обмен в УНФ? Есть ли с woocommerce, opencart, может быть с magento?

Даже уже в типовые конфигурации внедрена интеграция по commerce ML.

Подскажите пожалуйста, почему периодически возникают различные публикации и статьи, использующие то прямую запись в БД , то вызовы API http-сервисов при помощи различных обработок и иных средств?

- Вы хоть представляете сколько сделать серьезный проект с нуля?

Допустим - да :).

И сколько его поддерживать? Думаете крупняк(не буду уточнять специально) стал бы покупать интерпрайз решения за миллионы, если можно сделать все с нуля? Думаете там олени сидят?


По моему никто и не предлагал писать с нуля Али Экспресс или твиттер (к тому-же системы такого уровня пишут так, что получается как с нуля). Давайте как-то определимся с размером проектов, которые мы рассматриваем.
Чтобы не выдумывать, возьмем для начала пример из статьи, который является распространенным и реальным. Потом, если будет желание - можем проэкстраполировать на что-то более крупное :). И более того, никто не утверждал, что какая-либо другая система (битрикс, wordpress, допишите нужное) чем-то плоха, а вот то, что предлагается - это "серебряная пуля" и решение всех проблем.

Собственно суть дискуссии в Вашем первом исходном тезисе -

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


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

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

Думаю не только мне это будет интересно.
baton_pk; +1 Ответить
27. amd1986 21.06.18 19:39 Сейчас в теме
(26)
Честно говоря - не в курсе. А подскажите пожалуйста, с какими cms есть штатный обмен в УНФ? Есть ли с woocommerce, opencart, может быть с magento?

У них универсальный протокол обмена с сайтом. Подходит для платформы Битрикса, UMI, CS-Cart и других. Причем, как у Битрикса и у многих других, есть отдельные бесплатные модули интеграции, который еще больше расширяют функционал. Причем работающие не только по commerce ML. 1С сейчас очень сильно продвигает enterprise data и многие используют эту технологию.


(26)
Подскажите пожалуйста, почему периодически возникают различные публикации и статьи, использующие то прямую запись в БД , то вызовы API http-сервисов при помощи различных обработок и иных средств?

Потому что это(сервисы) одно из решений, не самое оптимальное. Мы в свое время от них отказались в обменах, т.к. подавляющее большинство клиентов не публикуют базу в вебе или не знают что это такое или им это не нужно или запрещено. Напрямую к базе обращаться тоже нельзя, т.к. если поменяется структура данных - обмен упадет. Нужно использовать rest api(т.е. процедуры которые уже сами собирают/помещают данные из таблиц). Вообщем, если напрямую, то уже при небольшом тираже будут проблемы. Доп. расходы клиентов.

Допустим - да :).

Уровня крупнейших ритейлеров страны?


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


Решение плохо следующим:
1) Отказоустойчивость. Если с сайтом будут проблемы - клиент будет терзать вас.
2) Дороговизна разработки и поддержки. На первоначальном этапе может быть и дороже(например платформа магазина стоит от 30К + красивые рюшки), но при первых же доработках цена возрастает. Клиенту это не выгодно. 30К руб это сколько часов разработки? Сколько будет стоить запилить скидки? сколько будет стоить запилить платежные системы? сколько будет стоить запилить СEO? Сколько будет стоить запилить многосайтовость? Сколько будет стоить запиль связь с соцсетями? Солько будет стоить запилить расчет доставки? Сколько будет стоить допилить рассылку? Сколько будет стоить запилить чатик? А это всего лишь часть стандартных функций современного интернет магазина. В вашем примере это не нужно. И если клиенту нужно будет, он это не получит. т.к. получит огромный ценник почешет репу и успокоится. Не будет у него современных решений - будет меньше конверсия, меньше конверсия - меньше прибыли. Т.е. этим решением вы обрезаете возможность динамично развивать бизнес клиенту. Именно поэтому самописные магазины исчезающий вид, т.к. поддерживать его могут не только лишь все.
Это еще не говоря про маркетплейс платформ, где есть готовые решения.
3) Способы реализации: Обращение напрямую к базе, использование внешних компонент, публикование базы и тд.
28. Alien_job 140 21.06.18 20:20 Сейчас в теме
(27)
извините что влезаю, можно пример?
enterprise data и многие используют эту технологию

Только собирался писать свой велосипед
29. blackhole321 729 21.06.18 22:15 Сейчас в теме
(27)
У них универсальный протокол обмена с сайтом. Подходит для платформы Битрикса, UMI, CS-Cart и других. Причем, как у Битрикса и у многих других, есть отдельные бесплатные модули интеграции, который еще больше расширяют функционал. Причем работающие не только по commerce ML. 1С сейчас очень сильно продвигает enterprise data и многие используют эту технологию.


Я правильно понимаю, что я в wordpress выбираю тему, устанавливаю плагин woocommerce, в 1С:Унф указываю url сайта м.б. логин, пароль и все? У меня появятся цены, товары, характеристики скидки и продажи автоматически попадут в 1С:Предприятие? А если у меня нет продаж, а нужно резервировать столики?

Уровня крупнейших ритейлеров страны?

Допустим да :)

Потому что это(сервисы) одно из решений, не самое оптимальное. Мы в свое время от них отказались в обменах, т.к. подавляющее большинство клиентов не публикуют базу в вебе или не знают что это такое или им это не нужно или запрещено


О какой базе идет речь? Я имел ввиду БД сайта и сервисы сайта.

1) Отказоустойчивость. Если с сайтом будут проблемы - клиент будет терзать вас.

Ну давайте еще раз :) Слово отказоустойчивость подразумевает устойчивость системы к отказам. В связи с этим вопрос: Есть две виртуальные машины одна - фактически с сайтом на asp.net, другая - с Вашим решением (битрикс, wordpress).
Почему Вы считаете, что отказоустойчивость то есть устойчивость к отказам одной виртуальной машины, ниже, чем другой? И кого будет терзать клиент при использовании "другой" системы?

2) Дороговизна разработки и поддержки. На первоначальном этапе может быть и дороже(например платформа магазина стоит от 30К + красивые рюшки), но при первых же доработках цена возрастает. Клиенту это не выгодно. 30К руб это сколько часов разработки?


Еще раз :) КАК Вы посчитали и получили от 30 К и о какой системе идет речь?
То есть Вы предлагаете клиенту такой сайт как в статье за 30К?

3) Способы реализации: Обращение напрямую к базе, использование внешних компонент, публикование базы и тд.


А Вы полагаете, что тот же php, на котором написан тот же битрикс обращается к MySql как-то по другому :)?

В вашем примере это не нужно.

Мы с Вами вроде договорились, что обсуждаем пока данный конкретный пример. Вы перечисляете кучу всего и заявляете, что в данном случае это не нужно.
Ну и как к этому относиться :) ?

И если клиенту нужно будет, он это не получит. т.к. получит огромный ценник почешет репу и успокоится

Ну и в какой момент ресторану или скажем парикмахерской по Вашему мнению понадобится чатик :)?

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

Давайте попробуем еще раз :)
Вот есть конкретный бизнес-кейс, который описан в статье.
На основании чего Вы утверждаете, что его разработка и поддержка будет в несколько раз дороже, чем это сделаете Вы на своем любимом инструменте?
Только пожалуйста, не надо каких то общих слов, кванторов и предположений.
Вы заявили, что у Вас это будет в несколько раз дешевле.
Возможно - так и есть, обоснуйте, с удовольствием ознакомлюсь и не только я :)
33. amd1986 22.06.18 10:30 Сейчас в теме
(29)
Я правильно понимаю, что я в wordpress выбираю тему, устанавливаю плагин woocommerce, в 1С:Унф указываю url сайта м.б. логин, пароль и все? У меня появятся цены, товары, характеристики скидки и продажи

Без доработок, по commerce ML, в 1С придет заказ в УНФ. А этот заказ можно интерпретировать по разному уже на уровне 1С.

(29)
Ну давайте еще раз :) Слово отказоустойчивость подразумевает устойчивость системы к отказам. В связи с этим вопрос: Есть две виртуальные машины одна - фактически с сайтом на asp.net, другая - с Вашим решением (битрикс, wordpress).
Почему Вы считаете, что отказоустойчивость то есть устойчивость к отказам одной виртуальной машины, ниже, чем другой? И кого будет терзать клиент при использовании "другой" системы?

Время отклика быстрее. Вы раньше узнаете о проблеме, вы раньше исправите проблему. Чем раньше исправите, тем меньше денег потеряете.

Еще раз :) КАК Вы посчитали и получили от 30 К и о какой системе идет речь?
То есть Вы предлагаете клиенту такой сайт как в статье за 30К?

30К эта сама платформа, в которой есть шаблоны. Можно отдельно купить готовые шаблоны, можно использовать типовые. Если хоть немного разберешься в платформе, уже сможешь сделать магазин и он будет более функциональней чем ваш. Если же заказывать магазин через веб студии, то ценник будет другой. Но даже через веб студию сопоставимый, необходимый функционал(чтобы не быть белой вороной), требуется денег в разы меньше.

А Вы полагаете, что тот же php, на котором написан тот же битрикс обращается к MySql как-то по другому :)?

Без разницы на чем реализовано. Я говорю, то готовые решения лучше, чем такие самописки. Они дешевле в итоге. И у клиента будет больше конкурентных преимуществ. Вы рассматриваете проблему со стороны разработчика, я со стороны бизнеса. Король тот, кто платит, а не тот, кто делает.

Допустим да :)
Рад за вас. Да и за нас, есть куда продвигать ентерпрайс решения))

Ну и в какой момент ресторану или скажем парикмахерской по Вашему мнению понадобится чатик :)?
Например общение с администратором. Очень удобно. Небольшое конкурентное преимущество.

Давайте попробуем еще раз :)
Вот есть конкретный бизнес-кейс, который описан в статье.
На основании чего Вы утверждаете, что его разработка и поддержка будет в несколько раз дороже, чем это сделаете Вы на своем любимом инструменте?
Только пожалуйста, не надо каких то общих слов, кванторов и предположений.
Вы заявили, что у Вас это будет в несколько раз дешевле.
Возможно - так и есть, обоснуйте, с удовольствием ознакомлюсь и не только я :)


Если брать текущий функционал, то ваш вариант дешевле(если трудозатраты на все меньше 50-60К). Но со стороны бизнеса этого функционала недостаточно. Если добавить этот функционал, то ценник будет уже больше, чем если бы использовать готовое решение. Поддержка будет больше.

В вашей схеме будет так: Клиент заказал сайтик - вы его сделали по вашему примеру. Клиент захотел новый функционал - вы ему за деньги сделали, потом еще, потом еще. Через некоторое время клиент считает потраченные деньги, выхлоп, чешет репу. Идет в веб студию и заказывает нормальный вебсайт. И в итоге тратит денег в разы больше, чем потратил бы, разрабатывая сразу на типовых решения.
35. blackhole321 729 22.06.18 12:58 Сейчас в теме
(33)
Рад за вас. Да и за нас, есть куда продвигать ентерпрайс решения))


Так вот оно что :)

Вы рассматриваете проблему со стороны разработчика, я со стороны бизнеса. Король тот, кто платит, а не тот, кто делает.


Почему же Вы НЕ являясь тем самым бизнесом, который платит Вам деньги говорите от его имени и пытаетесь решать, что ему нужно, а что нет? Может быть бизнес сам примет необходимые решения?

Время отклика быстрее. Вы раньше узнаете о проблеме, вы раньше исправите проблему. Чем раньше исправите, тем меньше денег потеряете.

Коллега, Вы путаете мониторинг состояния службы с отказоустойчивостью. Я не собираюсь Вас в чем-либо переубеждать. Если Вы считаете, что Ваше enterprise решение более отказоустойчиво, чем другие, но не можете внятно объяснить в каком месте, то пусть так и будет :)


Без доработок, по commerce ML, в 1С придет заказ в УНФ. А этот заказ можно интерпретировать по разному уже на уровне 1С.

Голый woocommerce без доп плагинов?
Тема заказа столиков совсем не раскрыта. Как будем заказывать?

Если брать текущий функционал, то ваш вариант дешевле(если трудозатраты на все меньше 50-60К). Но со стороны бизнеса этого функционала недостаточно. Если добавить этот функционал, то ценник будет уже больше, чем если бы использовать готовое решение. Поддержка будет больше.

Какой функционал? Чатик? Наберите в google - бесплатный онлайн чат для сайта. Все, что Вам потребуется в дальнейшем - зарегистрироваться и добавить javascript виджета на свою страницу.
Какой еще enterprise функционал Вы бы порекомендовали добавить?

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

То есть, я должен заплатить 30К, возможно еще купить шаблон, разобраться в платформе, чтобы написать сайт, аналогичный демонстрационной конфигурации, только с чатом :)?
36. amd1986 22.06.18 15:50 Сейчас в теме
(35)
Почему же Вы НЕ являясь тем самым бизнесом, который платит Вам деньги говорите от его имени и пытаетесь решать, что ему нужно, а что нет? Может быть бизнес сам примет необходимые решения?

В том числе и являемся.

Коллега, Вы путаете мониторинг состояния службы с отказоустойчивостью. Я не собираюсь Вас в чем-либо переубеждать. Если Вы считаете, что Ваше enterprise решение более отказоустойчиво, чем другие, но не можете внятно объяснить в каком месте, то пусть так и будет :)
Клиенту все равно как это называется. Ему важен работающий сайт 24 часа в сутки. Без мониторинга простой больше.
Выше же писал: безопасность, бэкапирование, протоколирование и тд. Все это влияет на отказоустойчивость. На конкретные решения ссылки давать не буду, т.к. мне это не рекомендуется). Это даже не ентерпрайс, а базовые механизмы.


Голый woocommerce без доп плагинов?
Тема заказа столиков совсем не раскрыта. Как будем заказывать?

woocommerce без плагинов нет. Но плагины то есть, причем бесплатные. Вбейте в поисковике "woocommerce commerceML"
Про столики - смотря как сделано в 1С. Если отдельный свой док, то нужно кастомизировать. Это потребует времени, да. Но в дальнейшем геммороя с сайтом будет меньше. И клиенту не придется через пару тройка лет отказываться от него и пилить новый.

Какой функционал? Чатик? Наберите в google - бесплатный онлайн чат для сайта. Все, что Вам потребуется в дальнейшем - зарегистрироваться и добавить javascript виджета на свою страницу.
Какой еще enterprise функционал Вы бы порекомендовали добавить?

Кто это делать будет? Клиент? Конечно нет, сторонняя компания, которая запросит за это деньги. За другой функционал еще попросит и так далее. И привязываться на отдельные виджеты это то еще. Какой вой стоял, когда ip адреса банил роскомнадзор. Вот такие решения и сели в лужу, перестав работать. Даже крупные платные системы пострадали, но они хоть оперативно исправляли. Используя все стороннее вы не можете гарантировать работу в принципе.

Да и чатик, рассылка и тд(что писал выше) это не интерпрайс решения(они больше поддерживают масштабируемость). А базовые потребности клиентов для успешного ведения бизнеса в ecommerce. Клиенту нужен не просто сайт, а инструмент продаж. Чтобы клиент не просто пришел и посмотрел сайтик, а сделал заказ. И не просто сделал заказ, а чтобы потом еще приходил и делал заказы.

То есть, я должен заплатить 30К, возможно еще купить шаблон, разобраться в платформе, чтобы написать сайт, аналогичный демонстрационной конфигурации, только с чатом :)?

Нужно понимать, что клиенту нужно. Нужен просто сайт чтобы был, или нужен инструмент, приносящий прибыль. Есть поговорка - скупой платит дважды. Кто то сразу пилит сайт на платформе, а кто то сначало страдает самописками, а потом пишет сайт на платформе.

Чат это пример, это только один винтик успешного бизнеса. Из разных винтиков собирается деталь, потом машина.
37. blackhole321 729 22.06.18 16:41 Сейчас в теме
(33)

В том числе и являемся.

Ну понятно :) Сами себе продаете свою систему.

Без доработок, по commerce ML, в 1С придет заказ в УНФ. А этот заказ можно интерпретировать по разному уже на уровне 1С.

woocommerce без плагинов нет.

Зачем пытались ввести людей в заблуждение?

Клиенту все равно как это называется. Ему важен работающий сайт 24 часа в сутки. Без мониторинга простой больше.

Коллега, скажу прямо, Ваши посты по данному вопросу, равно как и по вопросу неких правил поисковых систем показывают Вашу некомпетентность.

Поскольку и Вы и я изложили свои мнения - предлагаю завершить дискуссию, ввиду ее бессодержательности.
38. amd1986 22.06.18 19:43 Сейчас в теме
(37)
Ну понятно :) Сами себе продаете свою систему.

Если я буду говорить, сколько и что - то будет ясно где я работаю и кто я. Я этого не хочу.

(37)
Зачем пытались ввести людей в заблуждение?
В данном случае вводите заблуждения вы. Я вам сказал, что есть типовой обмен от 1С, работающий по стандартизируемому протоколу обмена. Есть поддержка разных платформ. Сказал вам, что можно поставить бесплатные плагины на woocommerce , которые работают по этому же протоколу обмена. Более того, из 1С можно создавать интернет магазины, с автоматически настроенным обменом. Ничего внятного в ответ вы так и не сказали.

(37)
Коллега, скажу прямо, Ваши посты по данному вопросу, равно как и по вопросу неких правил поисковых систем показывают Вашу некомпетентность.

Перед тем как написать про поисковики - я лично проверил запросы, что они выдают верную информацию. Я так понял аргументировать вы не смогли. На том и решим.

Мы люди работающие с разных позиций, с разным опытом и разным мышлением.
40. blackhole321 729 23.06.18 00:25 Сейчас в теме
(38)
В данном случае вводите заблуждения вы. Я вам сказал, что есть типовой обмен от 1С, работающий по стандартизируемому протоколу обмена. Есть поддержка разных платформ. Сказал вам, что можно поставить бесплатные плагины на woocommerce , которые работают по этому же протоколу обмена. Более того, из 1С можно создавать интернет магазины, с автоматически настроенным обменом. Ничего внятного в ответ вы так и не сказали.


Коллега, давайте посмотрим:

Вы:
У них универсальный протокол обмена с сайтом. Подходит для платформы Битрикса, UMI, CS-Cart и других. Причем, как у Битрикса и у многих других, есть отдельные бесплатные модули интеграции, который еще больше расширяют функционал. Причем работающие не только по commerce ML. 1С сейчас очень сильно продвигает enterprise data и многие используют эту технологию.

Я:
Я правильно понимаю, что я в wordpress выбираю тему, устанавливаю плагин woocommerce, в 1С:Унф указываю url сайта м.б. логин, пароль и все? У меня появятся цены, товары, характеристики скидки и продажи автоматически попадут в 1С:Предприятие? А если у меня нет продаж, а нужно резервировать столики?

Без доработок, по commerce ML, в 1С придет заказ в УНФ. А этот заказ можно интерпретировать по разному уже на уровне 1С.

Собственно как изволите это трактовать?
Заказ без плагина, т.е. без доработки как Вы понимаете никуда не придет. И товары не появятся. И если Вы посмотрите требования к настройке - там вплоть до правки php (возможно сейчас его уже вылизали).

Перед тем как написать про поисковики - я лично проверил запросы, что они выдают верную информацию. Я так понял аргументировать вы не смогли. На том и решим.

Какие запросы и куда Вы проверили? Изначально, Вы писали:
Вы:
2. Сейчас куча требований от ya и google по сайтам, если их не выполнять, сайт будет в перде
Я:
Какие же конкретно хитрые требования, которые трудновыполнимы в данном случае предъявляют яндекс и гугл?

Что я должен аргументировать? Вы прочли рекоммендации, которые Вы нашли? Теперь можете ответить на мой вполне конкретный вопрос, который находится выше по тексту?

Ну вот при всем моем к Вам уважении :)
41. amd1986 25.06.18 11:20 Сейчас в теме
Я правильно понимаю, что я в wordpress выбираю тему, устанавливаю плагин woocommerce, в 1С:Унф указываю url сайта м.б. логин, пароль и все? У меня появятся цены, товары, характеристики скидки и продажи автоматически попадут в 1С:Предприятие? А если у меня нет продаж, а нужно резервировать столики?

Если по woocommerce, то зависит от плагина. Если UMI, Битрикс, то передаются цены, товары, характеристики, заказы. Скидки смотря где. Скидки вообще сложная штука. Лучше готовые цены передавать, чем скидки.


Какие же конкретно хитрые требования, которые трудновыполнимы в данном случае предъявляют яндекс и гугл?

Я вам дал ссылку на официальную страницу Яндекс, где описаны требования. Мне вам ее что ли пересказать и дать краткое содержание?

Оке, вот вам кусочек из доки(всего там 23 страницы и это только яндекс):

Мы стараемся не индексировать или не ранжировать высоко:
• Сайты, которые вводят в заблуждение посетителей: при скачивании какого-либо файла (аудио, видео,
торрент-файл и пр.) загружается посторонняя программа. Или посторонняя программа размещается
под видом популярного приложения и т. д. Примером такого нарушения являются так называемые
программы-обертки.
• Сайты, размещающие на других сайтах SEO-ссылки.
• Сайты, копирующие или переписывающие информацию с других ресурсов и не создающие
оригинального контента.
• Страницы и сайты, единственной целью которых является перенаправление пользователя на другой
ресурс, автоматически («редирект») или добровольно.
• Автоматически сгенерированный (бессмысленный) текст.
• Сайты с каталогами (статей, программ, предприятий и т. п.), если они являются только агрегаторами
контента, не создают тексты и описания самостоятельно и не предоставляют никакого уникального
сервиса.
• Страницы с невидимым или слабовидимым текстом или ссылками.
• Сайты, отдающие разный контент пользователям и роботам поисковых систем («клоакинг»),
• Сайты, предоставляющие товары или информацию по партнерским программам, но не
представляющие никакой ценности для пользователя.
• Сайты, использующие обманные техники (например, вредоносный код, опасные для посетителей сайта
настройки CMS и серверов, вирусы в партнерских программах, вредоносные мобильные редиректы),
Яндекс.Вебмастер. Помощь
Рекомендации по созданию сайтов 5
перенаправляющие пользователей на сторонние ресурсы или меняющие окно результатов поиска на
страницы других ресурсов при переходе из поисковых систем.
• сайты, пытающиеся повлиять на поисковую систему путем имитации действий пользователей.
• сайты, основным предназначением которых является агрессивная демонстрация рекламных
материалов (в том числе popup, popunder, clickunder).
• Сайты, содержащие списки поисковых запросов (многократное повторение и перечисление ключевых
слов), предназначенные исключительно для обмана поисковой системы и манипулирования
результатами ее работы, в том числе использование элементов страниц, скрывающих ключевые слова,
например, посредством скроллинга или других технических приемов.
• Группы сайтов одного владельца/компании, предоставляющие пользователю одни и те же товары или
услуги, созданные с целью заполнения нескольких позиций в результатах поиска и сбора трафика.
• Немодерируемые форумы, доски объявлений, содержащие большое количество ссылочного спама.
• Сайты, ставящие внешние ссылки исключительно для обмана поисковых систем и «накачивания»
релевантности и не являющиеся рекомендацией автора посетить ресурс.
• Сайты или группы сайтов, интенсивно ссылающиеся друг на друга («линкфармы»).
• Страницы сайта с результатами поиска

Исключение страниц из поисковой базы
Каждый день Яндекс индексирует миллионы страниц и добавляет их в поисковую базу. Чтобы не
заполнять ее документами, которые все равно не попадут в результаты поиска, Яндекс анализирует
каждый документ с помощью специального алгоритма. Если страница не сможет стать одним из наиболее
релевантных ответов на какой-либо запрос, то она не включается в поисковую базу.
Исключение этих страниц из поисковой базы никак не влияет на посещаемость сайта, так как они
все равно не появились бы на видимых пользователям позициях. Кроме этого, Яндекс продолжает
индексировать и анализировать эти документы точно так же, как и все другие. Если на каком-то этапе
алгоритм обнаружит, что страница может попасть в результаты поиска, она будет добавлена в поисковую
базу.
1. На странице правильно заполнены все мета-теги description, title, keywords, страница соответствует
всем требованиям. Почему она не в поиске?
2. Почему страницы сначала пропадают из поиска, а потом возвращаются?
3. Почему из схожих по тематике и наполнению страниц одни попадают в поиск, а другие — нет?
На странице правильно заполнены все мета-теги description, title, keywords, страница
соответствует всем требованиям. Почему она не в поиске?
Алгоритм проверяет на страницах сайта не только наличие всех необходимых тегов, но и уникальность,
полноту материала, его востребованность и актуальность, а также многие другие факторы. При этом
мета-тегам стоит уделять внимание. Зачастую мета-теги description и title создаются автоматически,
повторяют друг друга и не ориентированы на удобство для пользователей поисковой системы.
Если на сайте большое количество практически одинаковых товаров, которые отличаются только
цветом, размером или конфигурацией, они тоже могут не попасть в поиск. В этот список можно также
добавить страницы пагинации, подбора товара или сравнений, страницы-картинки, на которых совсем нет
текстового контента.
Яндекс.Вебмастер. Помощь
Рекомендации по созданию сайтов 7
Почему страницы сначала пропадают из поиска, а потом возвращаются?
Алгоритм проверяет страницы не один раз, проверка и расчет вероятности показа страницы производятся
перед каждым обновлением поисковой базы. Робот индексирует исключенные страницы в обычном
режиме и периодически повторно обращается к ним. При повторных обращениях он может отследить
произошедшие изменения на странице и учесть их при расчете вероятности показа. Также в сам алгоритм
постоянно вносятся изменения и доработки, из-за чего ранее исключенные страницы могут появиться в
выдаче.
Почему из схожих по тематике и наполнению страниц одни попадают в поиск, а другие — нет?
Каждая страница оценивается алгоритмом независимо от других, включая страницы того же раздела.
Если она будет достаточно релевантна, чтобы появиться в результатах поиска по конкретному запросу
в конкретном регионе пользователя, страница попадает в выдачу. На решение алгоритма влияют
несколько десятков факторов индексирования и несколько сотен факторов ранжирования. К примеру,
если какой-либо товар более востребован пользователями, он может отобразиться в поиске, а менее
подходящий товар в выдаче показан не будет
42. blackhole321 729 25.06.18 11:59 Сейчас в теме
(41)
Если по woocommerce, то зависит от плагина. Если UMI, Битрикс, то передаются цены, товары, характеристики, заказы. Скидки смотря где. Скидки вообще сложная штука. Лучше готовые цены передавать, чем скидки.


Коллега, Вам был задан конкретный вопрос, на который был получен конкретный ответ (см диалог), который не совпадает с действительностью.

Я вам дал ссылку на официальную страницу Яндекс, где описаны требования. Мне вам ее что ли пересказать и дать краткое содержание?

Пожалуйста прекратите флуд. Вам был задан конкретный вопрос, на который Вы внятно не смогли ответить.
user746911; +1 Ответить
43. amd1986 25.06.18 12:16 Сейчас в теме
(42) Ясно, по существу сказать ничего не можете.
Коллега, Вам был задан конкретный вопрос, на который был получен конкретный ответ (см диалог), который не совпадает с действительностью.
По функционалу ответил, что точно есть. Что спросили - то и ответил.
Пожалуйста прекратите флуд. Вам был задан конкретный вопрос, на который Вы внятно не смогли ответить.
\Я ведь скинул вам выдержуку из доки. Там четно написаны рекомендации.

Я выше писал уже, у нас разный взгляд и разный опыт. Что то вам доказывать бессмысленно. Живите с своем мире.
39. cssprite 25 22.06.18 22:02 Сейчас в теме
(25)
(25)
Думаете крупняк(не буду уточнять специально) стал бы покупать интерпрайз решения за миллионы, если можно сделать все с нуля?


Вы путаете причины и потребности, я думаю у "крупняка" потребности как у всех остальных субъектов бизнес сферы, но у них другие приоритеты.
Тут скорей важно гарантированное покрытие задач за гарантированное время, и ГЛАВНОЕ, это благодаря тому, что эти решения тиражные, если все не взлетит, есть объяснение у принявшего решение, что это "интерпрайз решения за миллионы",
НО если получится заинтересовать ответственных менеджеров нестандартными решениями, вполне возможно в их среде и использование разработок "с нуля".
Повторюсь, проблема даже не в том, что в разработках под заказчика дороже или дешевле, дольше или быстрее, а в том, что используя решения известные, принимающие решения менеджеры снимают с себя ответственность, типа "как все, так и мы" но "не взлетело"...
44. amd1986 25.06.18 12:28 Сейчас в теме
(39)
Вы путаете причины и потребности, я думаю у "крупняка" потребности как у всех остальных субъектов бизнес сферы, но у них другие приоритеты.
Тут скорей важно гарантированное покрытие задач за гарантированное время, и ГЛАВНОЕ, это благодаря тому, что эти решения тиражные, если все не взлетит, есть объяснение у принявшего решение, что это "интерпрайз решения за миллионы",
НО если получится заинтересовать ответственных менеджеров нестандартными решениями, вполне возможно в их среде и использование разработок "с нуля".


Там много причин. У них главный приоритет(технический) это масштабируемость и его поддержка(инструментальная, техническая). Нужна уверенность, что при реальных(и пиковых) нагрузках время отклика будет в требуемых значениях. Другой функционал тоже нужен, но это не так критично, можно допилить,, т.к. там такие бюджеты..
31. CSiER 19 22.06.18 05:01 Сейчас в теме
(17) По пункту 1 в части "поддержка и расширение" коллега на текущий момент прав. Вы используете набор готовых компонент и свои наработки - если Вы перестанете поддерживать свои труды, то с очередным обновлением что-то может "пойти не так" и конечный пользователь останется один на один с данной проблемой. Ванскрипт могут перестать поддерживать, asp обновится и на текущую версию будет сложно найти хостинг и т.д. Другими словами, говорить про поддержку более распространенных решений проще именно ввиду наличия комьюнити. С другой стороны, если вспомнить историю php - комьюнити "дело наживное" :)
32. blackhole321 729 22.06.18 05:09 Сейчас в теме
(31)
Вы используете набор готовых компонент и свои наработки - если Вы перестанете поддерживать свои труды, то с очередным обновлением что-то может "пойти не так" и конечный пользователь останется один на один с данной проблемой. Ванскрипт могут перестать поддерживать, asp обновится и на текущую версию будет сложно найти хостинг и т.д. Другими словами, говорить про поддержку более распространенных решений проще именно ввиду наличия комьюнити


Полностью с Вами согласен, относительно существования такого риска. Этот риск так или иначе существует для любого продкта/системы. Несомненно, в данном случае он на порядки выше. Вопрос о том, принимать или не принимать этот риск думаю будет зависеть от баланса того, что Вы можете в итоге потерять и какие преимущества можете приобрести.
Вот если бы коллега высказал именно эту мысль, а также мысль о том, что библиотек с прикладной функциональностью пока практически нет и их нужно создавать - никто бы не стал возражать. Однако, из аргументов вместо этого прозвучали снижение отказоустойчивости, некие правила, которые могут быть выполнены только при использовании определенных систем, и увеличенная в разы стоимость поддержки и разработки, с непонятной мне методикой оценки, непонятно для какого случая.
Fox-trot; user746911; CSiER; +3 Ответить
45. Peleng 18 10.08.18 22:23 Сейчас в теме
(31) ерунду говорите... точнее, очевидные вещи... майкрософт прекратила поддержку многих своих продуктов... все переучивались и переходили на другие продукты... 1С заставила семерочников переучиваться на восьмерочников, а бизнес менять работающие решения... с другими производителями ПО та же история... комьюнити ни на что не годится, если производитель закрыл тему... вообще, ничего нового не могло бы возникнуть, если бы все так рассуждали как вы... каждая технология и каждый продукт вначале ходит в детских штанишках, но некоторые из них как-то вырастают...
если вы программист и вам лично на первый взгляд нравится новый язык или новая технология, пробуйте... и только попробовав решайте...
46. CSiER 19 11.08.18 09:06 Сейчас в теме
(45) сложно ответить на Ваш комментарий, потому что он больше похож на поток сознания (сплошные многоточия). По порядку:
ерунду говорите... точнее, очевидные вещи
- попробуйте таки определиться;
майкрософт прекратила поддержку многих своих продуктов...
- закрытие проприетарных проектов не относится к моему комменту и к теме обсуждения;
все переучивались и переходили на другие продукты
- очень спорно, отвечать смысла не вижу;
1С заставила семерочников переучиваться на восьмерочников, а бизнес менять работающие решения
- если сравнивать с dot net (java) и т.д. - здесь скорее "освоить новую версию", а не "переучиваться" (вендор тот же, предметка та же, материалы для перехода и т.п.);
комьюнити ни на что не годится, если производитель закрыл тему
- если исходники открыты, коммьюнити жива и нет правовых споров - то никаких проблем ;
вообще, ничего нового не могло бы возникнуть, если бы все так рассуждали как вы
- автор понял мою мысль и согласился с ней. Его ответ меня очень порадовал - мы оба осознаем риски и обсудили их. В общем, эта фраза явно мимо кассы.
каждая технология и каждый продукт вначале ходит в детских штанишках, но некоторые из них как-то вырастают
- да, этот рост связан как раз с интересом людей (пользователей, разработчиков, инвесторов и т.д.). К чему эта фраза?
если вы программист и вам лично на первый взгляд нравится новый язык или новая технология, пробуйте... и только попробовав решайте
- на мой взгляд это спорный подход, если Вам он нравится - пользуйтесь.
47. maxx 652 14.08.18 21:07 Сейчас в теме
Оставьте свое сообщение