Для разработки принципов табличного программирования была написана программа, в которой реализованы самые основные требования к среде разработки табличных программ. Уже на начальном этапе стало понятно, что табличный контроллер должен иметь стандартный веб-интерфейс и показывать свое состояние в режиме онлайн в браузере любого компьютера, планшета или смартфона. Для этого в контроллер должна быть загружена среда исполнения, которая, помимо пересчета таблицы, будет выводить текущее состояние таблицы на клиентское устройство. Предполагалось, что по мере написания программы в среде разработки будет производиться отладка с помощью однократных пересчетов таблицы и отображения результатов. Внешний вид табличной программы в среде разработки и на экране клиентского устройства, подключенного к контроллеру, в основном должен совпадать, за исключением верхнего ряда сервисных кнопок, необходимых при редактировании и отладке. Чтобы не было возможности внесения изменений в программу с клиентского устройства, в таблице на странице клиента нет кнопок для редактирования. Таким образом, изменить программу можно только в среде разработки.
Взаимодействие контроллера с установленной на нем средой исполнения табличной программы с клиентским устройством производится при помощи протокола передачи гипертекста HTTP. На контроллере запускается серверная часть задачи отображения состояния табличной программы, а на компьютере или другом устройстве — клиентская. Изначально рассматривалось условие, что клиентская часть не будет требовать установки каких-либо дополнительных программ на клиентское устройство и должна быть максимально стандартной. К контроллеру может быть подключено любое вычислительное устройство с установленным на нем современным браузером. Если клиентское устройство и контроллер находятся в одной подсети, то для отображения состояния табличной программы достаточно только ввести IP-адрес контроллера в строку браузера. В зависимости от реализации серверной части контроллера будет определяться количество одновременно подключенных клиентов.
Программа, в которой реализована среда разработки, написана как веб-страница и представляет собой один HTML-файл, в котором содержатся стили CSS, HTML и JavaScript. Это позволило одновременно разработать редактор табличных программ и часть программы контроллера, отвечающую за вывод таблицы на клиентское устройство, так как отображение табличной программы в обоих случаях предполагалось в виде HTML-страницы. Таким образом, открытый текст среды разработки табличных программ может стать неплохим подспорьем в написании среды исполнения табличных программ. Часть такой программы будет содержать ответ в виде HTML-страницы, загружаемой на устройство клиента, с помощью которой браузер в одном из окон сформирует таблицу с заданными параметрами. Готовые настройки стилей и скрипты, применяющиеся в среде разработки, можно использовать при написании среды исполнения табличной программы для выбранного контроллера.
5.3. Среда разработки программ, организованных в виде таблиц[3]
Так как программа, в которой реализована среда разработки, представляет собой HTML-файл, то для редактирования и отладки табличной программы достаточно открыть этот файл в браузере. На рис. 66 показана страница браузера сразу же после открытия файла программы. В верхнем левом углу экрана находятся шесть кнопок управления. Разберем их назначение слева направо.
Первая кнопка позволяет загрузить файл с таблицей для редактирования. Пиктограмма на кнопке достаточно стандартная — папка с документами. При нажатии на эту кнопку вызывается окно загрузки файла на страницу редактирования.
Вторая кнопка служит для сохранения таблицы, отображаемой на странице, в файл на диске. Пиктограмма на этой кнопке также стандартна — дискета. Так как браузеры не могут сохранять файлы, как обычные приложения, то для них предусмотрена функция «download». Каждый раз при нажатии на эту кнопку файл будет сохраняться на диске как отдельная копия в папке, предназначенной для загрузки файлов. В операционной системе Windows это папка «Загрузки».