Node JS жуем и перевариваем!
Уже неоднократно писал что хорошие проекты не могут быть на писаны только с использованием PHP, HTML и CSS.
Это так, и все это нужно дополнять Javascript'ом, будь то какие то динамические кнопочки или более сложнее, отправка и принятие каких либо данных различными методами. PHP хорошо, php нужно знать, но сегодня я говорю Гудбай PHP.
Что случилось и что произошло. Я не пишу что PHP это старый или устаревший язык, хотя я это часто слышал, но с этим я в корне не согласен. PHP сегодня — это стабильный программный язык с огромными возможностями, которые можно использовать уже с коробки.
Однако примерно неделю назад я решил заглянуть поглубже, а именно в сторону JS, целью было найти новую технологию разработки веб приложений основанную на чистом JS, без PHP. Я не однократно слышал про движок V8, который использует Node JS, для меня это мало о чем говорило, ну в принципе не много и изменилось, хотя я уже немного освоился в нем и могу работать с базой данных, написать небольшое веб приложение с выводом и сохранение информации…
Честно говоря я подходил к Node JS три раза, и все эти три раза я не мог сосредоточится на этом языке, для меня дико было представление асинхронного вывода информации, а про базу данных я вобще молчу. Для того чтобы погрузится глубже, мне нужно было пересмотреть кучу информации про Node JS, забыть на время про PHP, не в том плане что ничего не писать на нем, а просто выбросить само понятие PHP, так как знания и привычки из PHP мне мешали писать на JS.
Да что тут, вот и пример, при подключении двух файлов посредством инклуда, переменная в подключаемом файле не передается в наследника пока ты ее сам не подключишь, если тебе это конечно надо будет. И это такой малый пример, но тоже очень важный. Дико, но это раскрывает новые возможности, гибкость приложения, даже и не стоит перечислять все преимущества, так кто хоть немного читал про Node JS и затрагивал изучение PHP, то поймет о чем я.
Чем же все таки хорош Node JS, конечно же его наверное самое значимое отличие это асинхронность, что такое асинхронность вы можете почитать в викки «асинхронный код», не вижу смысла заниматься копипастом.
Вторым, что я хотел бы отметить, это то что не нужно перебирать тонну языков для реализации проекта и достаточно только знания javascript, конечно «достаточно» это я образно сказал, так как я все еще осваиваюсь в JS, и на мой взгляд он несколько сложнее PHP. Хотя наверное кто изучал JS с самого начало, то имеет противоположную точку зрения.
Это довольно свежий движок, и он все еще сыроватый, но постоянно обновляется и улучшается, это говорит о том что Node JS все еще стремится покорить просторы вебмастерского дела, но уже приобрел свою аудиторию и постоянно наращивает поклонников, таким стал и я.
Я просто потрясен на сколько все грамотно сделано, потрясен его работой, его структурой, которая настолько проста и понятна (я не пишу сейчас о тиме кодеров которые настрочат такие портянки что глаза разбегаются). Но сама структура схожа с PHPшными фреймворками что делает NodeJS для меня более понятным.
Так же самое интересное что в ходе разработки каких либо приложений нам не нужно ползать по phpmyadmin разрабатывая структуру базы данных, проектировать ту или иную таблицу, создавать индексы для производительности и еще много чего лишнего, Node JS использует MongoDB, конечно есть и еще много интересных баз данных, но это как я понял на данный момент самая актуальная. MongoDB — это NoSQL база данных, хранятся данные в папке на сервере и работает это все просто замечательно. Сегодня MySQL это прошлый век, сейчас NoSQL базы выходят в лидеры, так как они производительнее и управлять ими намного проще. Более подробно можете погуглить про mongodb, ее можно и с PHP использовать, но смысла в этом не вижу, быстрее двиг работать уж явно не будет.
И так что мне понравилось?
Да вобще то всё, это и то что:
Яркий пример отличия от PHP:
При использовании PHP скрипта вам необходимо создать SQL запрос в базу для импорта таблиц, т.е. завести базу и т.д.
Node JS под управление mongodb это совсем не нужно, вам стоит залить файлы и запустить скрипт, база создастся автоматически при обращении к определенным таблицам.
Так же и по шаблонизаторам, в php шаблонизаторы во-первых грузят систему и к тому же их установить не так то просто, нужно все грамотно продумать для правильной интеграции с самой системой. В Node JS это делается в два шага.
Первый шаг установить ваш шаблонизатор, в примеру jade (хоть он и по умолчанию, но это пример)
В консоли достаточно написать команду
Шаблонизатор установиться и будет готов к использованию, что вам нужно будет поправить так это основной исполняемый файл app.js добавив в него строчку
Шаблонизатор установлен и готов к использованию =)
В общем рассуждать можно очень долго, в интернете есть очень много информации которую вы можете почитать и ощутить все прелести Node JS.
Ну а если кому то интересно, я могу в следующих постах описать подробную установку Node JS на сервер, а так же по мере изучения уже смогу и написать полноценную качественную систему для своих и ваших проектов (для себя конечно уже пишу, но все еще разбираюсь)
Это так, и все это нужно дополнять Javascript'ом, будь то какие то динамические кнопочки или более сложнее, отправка и принятие каких либо данных различными методами. PHP хорошо, php нужно знать, но сегодня я говорю Гудбай PHP.
Что случилось и что произошло. Я не пишу что PHP это старый или устаревший язык, хотя я это часто слышал, но с этим я в корне не согласен. PHP сегодня — это стабильный программный язык с огромными возможностями, которые можно использовать уже с коробки.
Однако примерно неделю назад я решил заглянуть поглубже, а именно в сторону JS, целью было найти новую технологию разработки веб приложений основанную на чистом JS, без PHP. Я не однократно слышал про движок V8, который использует Node JS, для меня это мало о чем говорило, ну в принципе не много и изменилось, хотя я уже немного освоился в нем и могу работать с базой данных, написать небольшое веб приложение с выводом и сохранение информации…
Честно говоря я подходил к Node JS три раза, и все эти три раза я не мог сосредоточится на этом языке, для меня дико было представление асинхронного вывода информации, а про базу данных я вобще молчу. Для того чтобы погрузится глубже, мне нужно было пересмотреть кучу информации про Node JS, забыть на время про PHP, не в том плане что ничего не писать на нем, а просто выбросить само понятие PHP, так как знания и привычки из PHP мне мешали писать на JS.
Да что тут, вот и пример, при подключении двух файлов посредством инклуда, переменная в подключаемом файле не передается в наследника пока ты ее сам не подключишь, если тебе это конечно надо будет. И это такой малый пример, но тоже очень важный. Дико, но это раскрывает новые возможности, гибкость приложения, даже и не стоит перечислять все преимущества, так кто хоть немного читал про Node JS и затрагивал изучение PHP, то поймет о чем я.
Чем же все таки хорош Node JS, конечно же его наверное самое значимое отличие это асинхронность, что такое асинхронность вы можете почитать в викки «асинхронный код», не вижу смысла заниматься копипастом.
Вторым, что я хотел бы отметить, это то что не нужно перебирать тонну языков для реализации проекта и достаточно только знания javascript, конечно «достаточно» это я образно сказал, так как я все еще осваиваюсь в JS, и на мой взгляд он несколько сложнее PHP. Хотя наверное кто изучал JS с самого начало, то имеет противоположную точку зрения.
Это довольно свежий движок, и он все еще сыроватый, но постоянно обновляется и улучшается, это говорит о том что Node JS все еще стремится покорить просторы вебмастерского дела, но уже приобрел свою аудиторию и постоянно наращивает поклонников, таким стал и я.
Я просто потрясен на сколько все грамотно сделано, потрясен его работой, его структурой, которая настолько проста и понятна (я не пишу сейчас о тиме кодеров которые настрочат такие портянки что глаза разбегаются). Но сама структура схожа с PHPшными фреймворками что делает NodeJS для меня более понятным.
Так же самое интересное что в ходе разработки каких либо приложений нам не нужно ползать по phpmyadmin разрабатывая структуру базы данных, проектировать ту или иную таблицу, создавать индексы для производительности и еще много чего лишнего, Node JS использует MongoDB, конечно есть и еще много интересных баз данных, но это как я понял на данный момент самая актуальная. MongoDB — это NoSQL база данных, хранятся данные в папке на сервере и работает это все просто замечательно. Сегодня MySQL это прошлый век, сейчас NoSQL базы выходят в лидеры, так как они производительнее и управлять ими намного проще. Более подробно можете погуглить про mongodb, ее можно и с PHP использовать, но смысла в этом не вижу, быстрее двиг работать уж явно не будет.
И так что мне понравилось?
Да вобще то всё, это и то что:
- Асинхронная загрузка
- Отличные шаблонизаторы
- NoSQL база данных
- Простота в использовании
Яркий пример отличия от PHP:
При использовании PHP скрипта вам необходимо создать SQL запрос в базу для импорта таблиц, т.е. завести базу и т.д.
Node JS под управление mongodb это совсем не нужно, вам стоит залить файлы и запустить скрипт, база создастся автоматически при обращении к определенным таблицам.
Так же и по шаблонизаторам, в php шаблонизаторы во-первых грузят систему и к тому же их установить не так то просто, нужно все грамотно продумать для правильной интеграции с самой системой. В Node JS это делается в два шага.
Первый шаг установить ваш шаблонизатор, в примеру jade (хоть он и по умолчанию, но это пример)
В консоли достаточно написать команду
sudo npm install jade
Шаблонизатор установиться и будет готов к использованию, что вам нужно будет поправить так это основной исполняемый файл app.js добавив в него строчку
app.set('view engine', 'jade');
Шаблонизатор установлен и готов к использованию =)
В общем рассуждать можно очень долго, в интернете есть очень много информации которую вы можете почитать и ощутить все прелести Node JS.
Ну а если кому то интересно, я могу в следующих постах описать подробную установку Node JS на сервер, а так же по мере изучения уже смогу и написать полноценную качественную систему для своих и ваших проектов (для себя конечно уже пишу, но все еще разбираюсь)
0 комментариев