Hello world!!!

Позвольте представиться, меня зовут Сергей. Я увлекаюсь программированием, программированием в целом, то есть без привязки к какому то конкретному языку. Может это странно звучит, но все мы знаем, что для определенной работы нам нужен определенный инструмент. Например,  конечно можно забить гвоздь плоскогубцами, но молоток в этом случае использовать гораздо эффективнее. Так же и с программированием, есть определенная задача, которую нужно решить, а язык всего лишь инструмент ее решения. И от правильного выбора этого инструмента будет зависеть эффективность решения этой задачи. Так о чем я ) Это мой блог, и тут я поделюсь, как и какие задачи мне приходилось решать. Искренне надеюсь, что эта информация будет кому то полезна…

Технологии

Wordpress

Wordpress самая популярная CMS по данным сайта track.ruward.ru на май 2016 года. Я думаю это не просто так. Множество тем, плагинов хорошая документация, безусловно это плюс. Но тут есть и минусы, из этого множества тем и плагинов очень сложно выбрать то что действительно нужно, и полностью удовлетворить свои потребности. Поэтому нужно быть очень внимательным при выборе читать отзывы и конечно самому все тестировать. Этот инструмент подходит, если вам нужно очень быстро развернуть небольшой сайт, скажем визитку, документацию к проекту или блог, в моем случае я так и сделал :) Если заглянуть внутрь, можно увидеть хорошо структурированный, понятный  и документированный код. Что безусловно не может не радовать.

Node JS

Javascript на сервере, кто бы мог подумать :) Но это реально, теперь для веб разработки не нужно использовать два разных языка, например раньше javascript в браузере всегда использовался в связке с каким нибудь другим серверным языком Python, PHP. Но теперь все изменилось, node.js дает все эти возможности, но не совсем .... Для разработки серверных приложений, нужно понимать как работает серверное приложение, как и в любых других языках. То есть если я раньше разрабатывал только frontend, то не получиться тут же переключиться сразу на backend. Да синтаксис такой же, но придется изучить средства работы с базами данных, узнать цикл работы web сервера, научиться работать с файловой системой и изучить встроенные объекты, и самое главное забыть про DOM и анимации. Как бы то ни было, node.js превратил javascript из узконаправленного языка программирования, в язык программирования общего назначения. Что теперь дает нам возможность писать на нем не только frontend приложения, а так же кроссплатформенные  серверные и десктопные (оконные) приложения, например используя nw.js или electron.

JavaScript

С самого начала этот язык программирования задумывался, что бы оживить веб страницы в браузере, но со временем сильно развился и обрел большую популярность в web. Теперь мы имеем, то что имеем. Множество возможностей работы в браузере, от отправки AJAX запросов серверу, до использования web сокетов,  от простой анимации, до использования 3D моделирования с помощью WebGL. Так же появилась возможность проигрывать видео и аудио. Конечно же хранение информации в браузере, раньше была возможность использовать только cookie, но теперь выбор инструментов довольно широк - WebSQL, IndexedDB, Local и Session storage. JavaScript теперь работает не только в браузере, а еще на сервере. Язык постоянно развивается и очень широко поддерживается. Этот язык поддерживает несколько стилей программирования - объектно-ориентированный, функциональный и императивный.

PHP

За время использования мной этого языка, я видел и слышал множество шуток и негативных отзывов о PHP. Не скажу что я отношусь хорошо или плохо к этому языку. Но знание PHP с целом открывает множество возможностей, например использовать многочисленные CMS и фреймворки построенные на этом языке. Так же поддержка php подавляющим большинством хостинг провайдеров. Я думаю одна из причин такой популярности этого языка программирования, это низкий порог вхождения. То есть не нужно знать слишком много теории о программировании, не нужно углубляться в работу сервера и серверных приложений, для начала использования достаточно знать несколько конструкций языка. И да, в целом он справляется со своей задачей, он неплохо создает динамический контент я думаю не стоит требовать от него большего.

Angular

Сама идея реализуемая этим фреймворком мне очень нравится. А идея состоит в том, что бы отделить бизнес логику приложения от отображения информации, с чем Angular успешно справляется. Например есть возможность расширять DOM элементы и описывать их поведение в отдельных подключаемых модулях. Безусловно радует изначальная модульность всего приложения в целом, что упрощает тестирование. Еще одна безусловная особенность это двухсторонняя привязка данных (data binding), когда при изменении переменной, например строки, она тут же перерисовывается в DOM. Хочу отдельно сказать про высокий порог входа в этот фреймворк, в первых версиях Angular использовался javascript, но в последних версиях уже используется TypeScript и RxJS. То есть раньше при изучении angular пришлось бы потратить много времени изучая принцип работы и многие модули, без которых не обойтись. А теперь еще и добавилось изучение TypeScript. Но это стоит того :)