Существует ли язык разметки веб страниц в виде вычислительных таблиц?
Язык разметки HTML изначально создавался как средство отображения структурированного и форматированного текста на веб сайтах. С выходом HTML5 возможности значительно расширились, но всё равно, суть осталась прежней - html-страница это по прежнему "простыня" форматированного текста. Видна аналогия с прикладными компьютерными программами типографского редактирования текста, например, MS Word.
А существует ли "MS Excel" для Интернета? Я не имею ввиду просто возможность вставки таблицы в веб документ, и не популярную когда-то табличную вёрстку страниц. Также сюда не относятся современные средства представления данных типа CSS Grid. Суть идеи в том, что веб страница может представлять из себя документ в корне имеющем табличную структуру, с неограниченным количеством ячеек в ширину и в длину. Содержимое ячеек может определятся по формулам, вычисляющими значения на основе данных из других ячеек в данном документе, из ячеек другого документа (доступного по протоколу передачи данных) или иных источников.
Я пытался найти существующий язык разметки веб страниц в виде вычислительных таблиц, но не нашел. Возможно такой технологии просто не существует, за ненадобностью? Предполагаю что нечто подобное можно реализовать с помощью синтаксиса XML. В таком случае нужно провести колоссальную работу: во-первых: нужно разработать сам язык разметки вычислительных веб таблиц, а во-вторых: нужно написать браузер способный отображать документы такого типа. Или когда идея станет стандартом, то современные браузеры реализуют поддержку документов данного типа.
Дополнение! Пример задачи.
Создать текстовый файл на языке разметки вычислительных таблиц, который при открытии в браузере показывает таблицу умножения. Причём явно заданы значения первого ряда и первой колонки (цифры 1..9), а значения ячеек пересечения вычисляются на лету. То есть изначально в файле разметки результат вычислений не задан, а задана лишь формула. Как бы вы реализовали эту идею, например, на XML?
"Возможно такой технологии просто не существует, за ненадобностью?" - скорее всего да, как минимум потому что всё это довольно просто реализуется в рамках существующих веб-технологий.
Плохая идея. Стандартом не станет никогда. Главный вопрос зачем использовать подобный велосипед, когда есть гибкие в использовании html и css? Представьте типовые кейсы фронтенда. Далеко не все из них можно и удобно решать с помощью ячеек. html и css же, в свою очередь, в легкую решают как любые задачи с ячейками, таблицами и сетками, так и другие типовые задачи фронтенда.
Артём Петренков, разработчикам это даст деньги, когда на данную технологию возникнет спрос. Почему бухгалтера, сметчики, инженеры используют вычислительные таблицы? Данная технология позволить "выставлят напоказ" расчётные документы без необходимости использовать дополнительно ПО для просмотра. Никита Полевой, какой-нибудь бухгалтерский "квартальный отчёт" можно отобразить на веб сайте, но это будет реализовано окольными путями, через запросы к БД. А представь, что такой документ бухгалтер редактирует напрямую и публикует на сервере. Антон Спирин, идея создания вычислительных веб таблиц не является технологией направленной на вытеснение HTML или CSS, а является дополняющей. Использовать можно в финансовых и инженерных расчётах. Представь, на сайте строительной компании выложено текстовое описание услуг, дополненное ссылкой на смету - документ в формате вычислительной веб таблицы, который напрямую отображается в браузере.
ничего не мешает разработать свой стандарт разметки, хоть на том же жирном xml.
Браузер не надо "учить", надо на страницу встроить скрипты, которые будут на лету превращать вашу разметку в html-таблицу.
Так, например происходит с языками jsx, typescript, coffescript, dart (но это не точно). Они либо предварительно, либо прямо в браузере транспилирутся в javascript, который уже понимают все браузеры.
Так же и с css препроцессорами. Например less, автор описывает стили с помощью языка less, а потом компилирует их в css, который отдаётся браузеру. И точно так же можно подключить скрипт, и конвертация будет происходить на лету из less в css прям на странице.
Ну а дальше дело популяризации. Если формат станет популярным - то и в браузерах появится поддержка.
К примеру scss и less достаточно популярны у фронтендеров и верстальщиков, но стандартом эти препроцессоры не станут.
Артём Петренков, но это будет лишь использование возможностей фреймворка для реализации некоторой идеи -немного не то! А вот формат разметки текстового файла веб таблицы (оформленный в виде стандарта W3C), который будет парситься браузером напрямую и отображаться пользователю - то что надо.
Андрей Акимов, вам видимо надо немного поработать в вебе, чтобы понять, что ваша задумка в стандартах совершенно ни к чему.
По поводу смет и таблиц есть куча отличных реализованных решений.
Вы же не предлагаете бухгалтерам, инженерам, сметчикам учить ваш язык разметки? А зачем бухгалтерам, инженерам, сметчикам изучать и использовать ваш инструмент, который никуда не экспортируешь, а знания эти нигде больше не применить? Есть куча готовых решений данные из которых экспортируются во все необходимые форматы. А специалистам не надо забивать голову лишней информацией и осваивать какие-то сомнительные стандарты. Они просто занимаются своим делом.
Вы пытаетесь придумать никому не нужный стандарт для очень специфичного круга задач. Задач которые давно решены.
HTML создавался как язык для обмена научной и технической документацией, пригодный для использования людьми, не являющимися специалистами в области вёрстки.
Почему бы не создать язык разметки для обмена вычислительными таблицами напрямую, используя Интернет?
Менее чем 100 лет назад не было ничего связанного с IT. И надо же, люди сами всё придумали: различные стандарты, протоколы, форматы файлов и прочее. Процесс не прекращается! Появляются новые фреймворки, библиотеки, языки программирования...
Андрей Акимов, вы, видимо, так ничего и не поняли из того, что все до вас в этом обсуждении пытаются донести.
Таблицами меняться напрямую через интернет можно хоть по http, хоть по https, хоть по сокетам или ssh.
Вы путаете теплое с мягким.
Андрей Акимов, если мне надо сделать таблицу, я открываю редактор таблиц, не важно облачный или локальный. А браузер это обозреватель интернета и среда выполнения клиентских приложений. Вы можете написать браузерный клиент для редактирования таблиц. Но редактор таблиц с собственным форматом и встроенный в браузер - это глупость. А если это еще будет смесь бульдога с носорогом, на которой еще с переменным успехом сайты можно будет верстать, и стандарты будут для этого иметь множество компромиссных решений не свойственных для задач построения таблиц, то это уже за гранью абсурда.
Сейчас все больше и больше клиентов(веб и кросс платформенных) для коллективной работы в любой сфере, они используют стандартные форматы данных и нет ни одной проблемы, и ни одной предпосылки, чтобы начать делать то, что вы предлагаете.
Антон Спирин, дискуссия пошла не туда! Мой вопрос был задан - были получены некоторые ответы. Я никого не заставляю что-либо разрабатывать для меня. И в то же время, Я не спрашиваю чьего-либо мнения о том что глупость, а что нет. Основная масса людей всю жизнь занимается разными "глупостями", и ничего живут же... Артём Петренков, спасибо, дельный комментарий! Но к сожалению, скачав пример файла в формате *.ods и открыв его в текстовом редакторе Я увидел "кракозяблы", но в приложении MS Excel открывается прекрасно. А нужен такой формат (как html) который можно редактировать "блокнотом".
Артём Петренков, правильнее спросить не людям какой профессии это может понадобится, а под какие задачи. А задача простая отображение отображение вычислительной таблице в качестве веб документа.
Пример задачи. Создать веб-таблицу - документ, который при открытии поддерживаемой программой (браузером) отображает таблицу умножения. Явно указаны только первая строка и первый столбец таблицы (цифры 1..9), а значение других ячеей вычисляется.
Андрей Акимов, обычно на примере HelloWorld показывают простой пример использования технологии, которую изучают чтобы решать реальные задачи. Если вы для своей задумки затрудняетесь придумать реальный кейс использования, то вряд ли она кому-то будет нужна.
Таблицы в интернете отображают данные в основном из БД и строятся динамически. А статические таблицы с калькуляцией вряд ли найдут применение в интернете. А работать с таблицами как с документами, удобней в user friendly редакторе, который будет повторять интерфейс настольного приложения и выгружать результат во всех известных форматах. Благо таких инструментов сейчас хватает.
Сейчас в тренде групповое редактирование документов в реальном времени. Облачные и настольные приложения так давно умеют. Ваш язык разметки для решения этой задачи никак не поможет, так как эа синхронизацию данных отвечают сложные клиентские и серверные алгоритмы. Почитайте хотя бы по Google Docs. Это потрясающе. А главное, что это ПО решает реальные и востребованные задачи.
Ваши читаемые исходники таблиц не нужны ни программистам, ни конечному пользователю. Программисту это не надо, так как нет смысла изучать очередную раздутую спецификацию, если его задача вывести данные. Ему проще набросать несколько строк JavaScript. Пользователям вообще нет никакого дела до исходников, их рабочий инструмент - пользовательский интерфейс ПО.
загляни внутрь xlsx там xml .
броузеры уже сейчас жрут оперативку гигами.
если туда еще табличный калькулятор вкрутят ;(
но главное - куда броузер будет сохранять отредактированный документ ?
Формат должен быть открытым и простым для непосредственного редактирования с помощью тегов, как html. То что браузеры "жрут" оперативку это вопрос к разработчикам браузеров и авторам страниц.
А сохранять документ никуда и не надо! Это формат для отображения информации, а не для её редактирования посетителем сайта.
p.s. А при чём тут ChromeOS? Мало ли чего в нашем мире "не взлетело". Идея разработки формата отображения вычислительных веб таблиц не заменяет ничего существующего, а дополняет стек технологий.
Олег Муравейко, это сервис предоставляемый одной частной компанией (Google). Это веб-приложение, а не стандарт хранения и отображения данных (как например, HTML). Там пользователь, не имеет возможности разместить свою таблицу на стороннем сервере. А вот документ в формате HTML, Я могу разместить на любом сервере (хоть на домашнем) и посетители смогут напрямую его смотреть.
броузер уже отказывается работать на телефонах с озу меньше гига.
разница смартов с 1 и 2 гигами это 10 тысяч.
Что получается.
Все должны выложить дополнительные деньги, чтобы один веб мастер не учил js ?
Андрей Акимов, То есть вы зашли на страничку в интернет, за три часа работы накидали там таблицу, потом закрыли браузер и все удалилось?
Что значит никуда сохранять не надо?
Перед тем как выдвигать подобные идеи, вы пробовали изучить, как вообще работает интернет?
Saboteur, таблицу должен "накидывать" администратор сайта и сохранять на сервере. Пользователи просто могут просматривать данную таблицу, или вводить некоторые свои данные (в ячейки типа ) для вычисления результата. Вы же не редактируете "чужие" сайты в Интернете, а просто их просматриваете.
На основе чего вы сделали заключение, о том что Я не знаю как работает Интернет? У вас недостаточно данных обо мне, чтобы делать такие ошибочные выводы.
Андрей Акимов, Если таблицу должен "накидывать" администратор сайта, то вы плохо представляете себе что вообще должен делать администратор сайта.
Вводить некоторые свои данные можно в форму, написанную на javascript и php, и это УЖЕ есть. разрабатывать новый инструмент для воображаемого администратора - никто не будет.
Прямо сейчас мы с вами редактируем чужой сайт в интернете. Мы пишем друг другу сообщения, ставим лайки.
То, что вы не знаете как работает интернет видно из формулирования ваших вопросов и пожеланий. Они некорректно звучат. Если вы хотите, чтобы специально для вас разработали такой продукт - закажите на фрилансе. Если вы просто спрашиваете про язык - вам уже сказали, что можно прямо на javascript такое уже сделать. То, что вы не понимаете как хранятся и записываются данные на веб-сайтах - ну показатель что вы не очень четко представляете себе, что работает под капотом каждого сайта.
Saboteur, Я вижу ты ловишь особый кайф от называние других дураками, делая это в элегантной форме. Твои ответы не относятся к моему вопросу. Иди бахвалься в другой теме! Олег Муравейко, спасибо за ссылку, но это тоже сервис, а не формат разметки. По-сути ответ на свой вопрос Я получил - данного языка не существует, а есть лишь окольные пути реализации подобной задачи.
Хлс не язык. Это формат данных. Нтмл тоже не язык. екселл редактор. Есть упрощённые его вьюверы. Так как помимо формулы есть и уже рассчитанное значение. В принципе вы можете проспонсировать свою идею . Миллиона три _ четыре долларов должно хватить
Олег Муравейко, html как раз таки язык! Язык разметки. Моя идея не в создании редактора, а в создании языка разметки вычислительных таблиц посредством простых текстовых файлов.
Пример: создать текстовый файл на языке разметки вычислительных таблиц, который при открытии в браузере показывает таблицу умножения. Причём явно заданы значения первого ряда и первой колонки (цифры 1..9), а значения ячеек пересечения вычисляются на лету. То есть изначально в файле разметки результат вычислений не задан, а задана лишь формула. Как бы вы реализовали эту идею, например, на XML?
google documents уже делает это. Но это не просто колоссальная работа, это немного больше.
Вы как бы должны понимать, что поддержка формул - это НЕ язык разметки, это уже язык программирования.
И как бы зачем нужно писать браузер, способный отображать документы такого типа, если УЖЕ есть программа (excel, openoffice таблицы), которые умеют отображать документы такого типа? Вы должны понимать, что это не взлетит.
Google Documents это сервис предлагаемый частной компанией, пусть и бесплатно, но на определённых условиях и с ограничениями.
Составление таблиц в программе Excel, в которых значения в одних ячейках вычисляются по формулам на основе данных из других ячеей или задаются извне - что это, программирование?
Зачем нужно было создавать браузеры которые способны отображать документы из форматированного текста (файлы html), если уже были текстовые редакторы способные выводить на экран форматированный текст?
Вы видимо не понимаете разницы между форматированным текстом и HTML, в котором самым главным моментом были ссылки, фреймы и теги, позволяющие создавать не просто форматированный текст, а ГиперТекст (текст с гиперссылками).
Составление таблиц в программе Excel, в которых значения в одних ячейках вычисляются по формулам на основе данных из других ячеей или задаются извне - что это, программирование?
Если немного подучить формулы в экселе, то можно найти, что их там достаточно для базового программирования.
Если вам нужны простейшие вычисления - то просто напишите веб-страницу на javascript, которая будет делать то, что вы хотите. Она будет работать в уже существующих браузерах.
Просто "бесконечная страница" будет занимать бесконечно много памяти, вам нужно будет продумать лимиты.
Андрей Акимов, если более серьёзно отнестись к такой игрушке, как Blockly, то табличный вариант станет не столь уж и актуален. Они даже чем-то похожи, а поскольку мне жалко детей своих сызмальства уродовать англицизмами, то считаю более приемлемым учить их логике на родном языке. Блоковый же вариант можно совершенствовать и для взрослых. Убрать лишнюю толщину блоков, увеличить их функциональность, да и на открытие/закрытие тегов лишние усилия и память свою уже не надо будет напрягать. Одно время я подзабыл об этом ресурсе, а вот благодаря вам - вспомнил.
- Спасибо!.. Придумывать новое - разумеется надо; экспериментировать, ошибаться, переделывать, вновь ошибаться, всё это - путь к самосовершенствованию... (!)