Хотел было написать коротко, а потом подумал и понял – совсем уж коротко не получится.
Заходит человек и говорит: «Интересно попрактиковаться в JavaScript. Расскажешь?» Почему бы не рассказать, вот только одно за другое цепляется. Начинаем изучать JavaScript – лучше, конечно начинать сразу с версии ES6. Так вот, начинаем изучать и становится ясно, что яваскрипт – язык клиентский и выполняется на компьютере пользователя в его браузере и не требует компиляции, не требует наличия сервера. Строго говоря, тот самый веб-сервер вообще может почти ничего не передавать в яваскрипты, но тогда в них будет немного толка. Ну-да, они добавят интерактивности, плавности и красоты на страницах сайта, но без обмена данными с сервером это всё-таки будет не полноценный инструмент.
Давайте научим его обмениваться информацией с веб-сервером, но тогда встаёт другой вопрос – что выбрать в качестве самого сервера и серверного языка программирования? В качестве второго, то есть серверного языка, я лично работаю с PHP. Значит неплохо бы изучить и его. Тут тоже наверное лучше знакомиться с версиями от 7.0 и выше. А вот с выбором собственно сервера всё чуточку сложнее.
Какая, говорите у вас там операционка? Windows? Сейчас многие избалованы достаточно мощными компьютерами с большими объёмами оперативной памяти и места на жёстких дисках. Для винды вполне можно выбрать тяжелый и не поворотливый, но хорошо настраиваемый OpenServer. Что в него входит? – Много всего: 1. Собственно сам веб-сервер Apache. Имеются на выбор несколько версий. В зависимости от задач, настроить можно на работу с любой из его версий. 2. Несколько серверов баз данных. По-умолчанию, конечно, MySQL. Почему? – Просто он относительно лёгкий и достаточно защищённый. Простые проекты начального уровня вполне потянет. Если нужно что-то серьёзнее, например, планируется ГИС (географическая информационная система), тут скорее подойдут Postgre или и вовсе Microsoft SQL Server, но это уже другая история. 3. PHP. Тут тоже несколько версий на выбор от 5.4 до 7.x. В нагрузку имеются кучи настроек и инструментов. Если любопытно – вот вам видео с небольшим обзором Опенсервера.
У вас Linux? – Тоже не беда, хотя с выбором ПО и его настроек вопросов будет на два порядка больше. Но что выбрать? Принято чаще всего говорить про LAMP. L – собственно Linux, то есть операционка. Двадцать лет тому я вообще начинал с FreeBSD, а уж дистриутивов линукса имеются сотни. Что у вас есть, на той операционке и разворачивайте ПО серверов. A – снова Apache, то есть – веб-сервер. M – MySQL – ну а куда без сервера баз данных? Не хотели изучать? Ну, а кому легко? )) Хотите быть многостаночником и писать полноценные проекты под ключ – ещё не так раскорячитесь. P – PHP. По-сути, тот же набор, что и в винде. Однако, для ЮНИКС-подобных операционнок всё это ПО следует искать, устанавливать и настраивать отдельно. Да ещё и в каждом из них выбирать те или иные компоненты и модули и многократно заново «пересобирать» всё это счастье. С другой стороны, а чем ещё вам заниматься долгими зимними вечерами после учёбы или работы? ))
Не испугал? Так это я ещё не напомнил про собственно HTML и CSS. А ещё можно поговорить о средствах сборки проектов и отслеживания версий. Продолжать-то будем? Вернее, с чего начнём? ))
P. S. Картинка скрадена с сайта genevasi.com.
@quazimorda возможно будет интересно сделать что-то для Голоса (на базе Голоса) и получить за это выплату из фонда. Тот же веб-клиент насквозь с JavaScript, да и наиболее популярная библиотека к БЧ на JS )
В конце этого поста был пример запуска клиента для тестов/разработки
https://golos.in/ru--golos/@lex/obnovlenie-pula-idei-i-khotelok-dlya-blokcheina-klienta
Здесь описание по внутренностям блокчейна https://wiki.golos.id/developers/basics
@lex Будем почитать и ознакомиться, спасибо. Пока ничего не буду гарантировать. Ввязаться в войну всяко проще, чем потом её победить. Впрочем, это всё фронтэнд, а серверная часть, я краем уха слышал, написана на пайтоне, вот этого зверя совсем не знаю. )
@quazimorda не обязательно что-то грандиозное, возможно просто будут идеи по улучшениям на веб-клиенте, где почти всё связано с JS. Серверная часть по сути представлена АПИ-нодами на C++, про неё не спрашиваю )
А так, даже советы пригодятся, предложения в дополнение к этим https://github.com/golos-blockchain/golos-ui/issues
@lex Обратно спасибо за ссылки. Будем курить мануалы. ))
@quazimorda, Поздравляю!
Ваш пост был упомянут в моем хит-параде в следующей категории: