ТО
Поскольку я понимаю вопрос и исправляю меня, если я ошибаюсь, это относится к классической модели сервера с JavaScript только на стороне клиента. В этой классической модели с серверами LAMP (Linux, Apache, MySQL, PHP) язык, соприкасающийся с базой данных, - PHP, поэтому для запроса данных в базу данных необходимо написать сценарии PHP и echo возвращающие данные клиенту. В основном, распределение языков по физическим машинам:
- Сторона сервера: PHP и MySQL.
- Клиентская сторона: HTML / CSS и JavaScript.
Это соответствует модели MVC (Модель, Представление, Контроллер), где у нас есть следующие функциональные возможности:
- МОДЕЛЬ: Модель - это то, что работает с данными, в данном случае с PHP-скриптами, которые управляют переменными или обращаются к данным, хранящимся, в нашем случае в нашей базе данных MySQL и отправляют их как данные JSON в клиент.
- VIEW: Представление - это то, что мы видим, и оно должно быть полностью независимым от модели. Ему просто нужно показать данные, содержащиеся в модели, но у него не должно быть соответствующих данных. В этом случае представление использует HTML и CSS. HTML для создания базовой структуры представления и CSS для придания формы этой базовой структуре.
- КОНТРОЛЛЕР: Контроллер является интерфейсом между нашей моделью и нашим представлением. В этом случае используется язык JavaScript, и он берет данные, которые модель отправляет нам в виде пакета JSON, и помещает их в контейнеры, которые предлагают структуру HTML. Для взаимодействия контроллера с моделью используется AJAX . Мы используем методы GET и POST для вызова сценариев PHP на стороне сервера и для получения возвращаемых данных с сервера.
Для контроллера у нас есть действительно интересные инструменты, такие как jQuery , как «низкоуровневая» библиотека для управления структурой HTML (DOM), а затем новые, более высокоуровневые, такие как Knockout. js , которые позволяют нам создавать наблюдателей, которые соединяют различные элементы DOM, обновляя их при возникновении событий. Существует также Angular.js от Google, который работает аналогичным образом, но, похоже, является полноценной средой. Чтобы помочь вам выбрать среди, здесь есть два превосходных анализа двух инструментов: Knockout vs. Angular.js и Knockout.js против Angular.js . Я все еще читаю. Надеюсь, они помогут вам.
NOW
На современных серверах, основанных на Node.js, мы используем JavaScript для всего. Node.js - это среда JavaScript со многими библиотеками, которые работают с Google V8, движком Chrome JavaScript. Как мы работаем с этими новыми серверами:
- Node.js и Express : Основной фрейм, на котором построен сервер. Мы можем создать сервер с несколькими строками кода или даже использовать библиотеки в качестве Express, чтобы сделать его еще проще. С помощью Node.js и Express мы будем управлять обращениями клиентов на сервер и отвечать на них соответствующими страницами.
- Jade : Для создания страниц мы используем язык шаблонов, в данном случае Jade, который позволяет нам писать веб-страницы так же, как мы писали HTML, но с различиями ( займет немного времени, но легко учиться). Затем в коде сервера для ответа на петиции клиента нам просто нужно преобразовать код Jade в «настоящий» HTML-код.
- Стилус : Аналогично Jade, но для css. В этом случае мы используем функцию промежуточного программного обеспечения для преобразования файла стилуса в настоящий файл CSS для нашей страницы.
Затем у нас есть множество пакетов, которые мы можем установить с помощью NPM (менеджер пакетов Node.js) и использовать их непосредственно на нашем сервере Node.js, просто требуя его (для те из вас, кто хочет изучать Node.js, попробуйте этот учебник для начинающих для обзора). И среди этих пакетов у вас есть некоторые из них для доступа к базам данных. Используя это, вы можете использовать JavaScript на стороне сервера для доступа к базам данных My SQL.
Но лучшее, что вы можете сделать, если собираетесь работать с Node.js, - это использовать новые базы данных NoSQL, такие как MongoDB , основанные на файлах JSON. Вместо того, чтобы хранить таблицы, такие как MySQL, он хранит данные в структурах JSON, поэтому вы можете помещать разные данные в каждую структуру, например, длинные числовые векторы, вместо этого создавая огромные таблицы размером с самую большую.
Я надеюсь, что это краткое объяснение станет полезным для вас, и если вы хотите узнать больше об этом, здесь у вас есть некоторые ресурсы, которые вы можете использовать:
- Тупик : Этот сайт полон отличных коротких руководств по JavaScript и его среде. Это стоит попробовать. И делать скидки время от времени.
- Code School : с бесплатным и очень интересным курсом об инструментах Chrome Developer, которые помогут вам протестировать клиентскую часть.
- Codecademy : с бесплатными курсами по HTML, CSS, JavaScript, jQuery и PHP, с которыми вы можете ознакомиться в онлайн-примерах.
- 10gen Образование : Со всем, что вам нужно знать о MongoDB в учебных пособиях для разных языков.
- W3Schools : в этом руководстве есть учебники обо всем этом, и вы можете использовать его в качестве справочного места, поскольку в нем есть много кратких примеров кода, которые действительно полезны.
- Udacity : место с бесплатными видео-курсами по различным предметам с несколькими интересными по веб-разработке и моим любимым, удивительным курсом WebGL для 3D-графики с JavaScript.
UPDATE!
Прямо сейчас, имея Node-сервер, если вы хотите общаться с базой данных MySQL, вы можете использовать библиотеку с именем mysql . Вы можете создавать запросы, как вы это делали с PHP, и вы можете попробовать его с помощью API-генератора , который я создал, который вы можете загрузить с помощью NPM. В нем есть мастер, который позволяет вам, среди прочего, выбрать, какие базы данных вы хотите использовать.
Надеюсь, это поможет вам начать.
Веселись!