Все мы прекрасно знаем, что есть frontend и backend, программирование на стороне клиента и сервера. Чаще всего для создания вебсайта требуются специалисты по mysql, php, javascript, html, css. Многовато будет. Вот хотя бы избавиться от пары языков например php и sql. Без sql не обойдешься, но по крайней мере можно ограничиться самым минимальным набором команд, как делает facebook, у них запросы самые простые ключ-значение.
Далеко не каждыЙ программист знает как работает жесткий диск и что влияет на время выполнения запроса, сложный sql запрос может оказаться очень медленным.
От php уже избавился node.js, но он работает только со своим сервером и специалистов не так много и они дорогие. Когда вся функциональность находится в одном месте это значительно упрощает сопровождение программы.
Хотелось бы иметь такую систему:
1 программирование происходит на стороне клиента, возможно с использованием frameworks
Angular (2,1), React, Vue.js, Ember, Meteor.
2 используется обычный хостинг или сервер. Фактически программист может даже не знать о серверной стороне, для него процессор оперативная память и диск сервера это всего лишь расширение браузера.
Сделать это совсем не трудно с помощью ajax. Но защититьjavascript код принципиально не возможно так что система получается неприемлимой с точки зрения безопасности. Можно использовать препроцессор, писать все на javascript, а потом генерировать код на php (или другом языке). Препроцессор может делать много других полезных вещей:
1 Проверять качество javascript, html, css кода.
2 Проверять комментированность кода и вообще соблюдение принятого корпоративного стандарта программирования
3 Проверять защищенность от sql инекций и cross site scripting.
4 Генеририровать автоматическую настройку на размер экрана.
5 Генерирвать простейшую мобильную версию.
6 Оптимизировать скорость загрузки страницы. Например удалять из js библиотек (jquery, angular и тд) не используемые функции, выполнять загрузку по мере просмотра страницы. Очень эффективно также сначала загружать относительно небольщие изображения худшего качества, например, меньшего разрешения или в формате gif .
Выглядит система примерно:
так программист на js имет набор операторов обращения к памяти сервера: оперативной ,
файлам на диске, базам данных, журналируемым хранилищам (redis, memcached). Можно вообще каждой переменной, массиву и объекту js поставить в соответствие переменную, массив или объект на серверной стороне с таким же именем. Те чтобы серверная часть была как можно менее заметна.
Кое что в этом направлении уже сделано:
Javascript parser, compiler and interpreter written in PHP
http://sstur.github.io/js2php/demo/
https://github.com/jakubkulhan/js2php
Хотелось бы знать Ваше мнение по всему выщемзложенному.
Предлагаю основать open source проект и разработать такую систему.