Что делать в 1 очередь? Как продумать правильную структуру классов(модулей)? Начинать привязывать сразу к клиенту или сделать полную версию backend и только после этого вязать к клиенту?
эм... ну тут как бэ до ноды саму теорию OOA&D и прочее читать в первую очередь ;)
если коротко: программирование на ноде — исключительно асинхронное, в первую очередь вы должны думать промисами, ивентами и колбеками, но это в общем. В частностях же:
1. нода — 70% правильного (имхо) кода,- даже не всякие там q, async и прочие, а конечные автоматы и состояния, а посему machina-js.org и/или github.com/fschaefer/Stately.js . Здесь главное понимать, что теперь внутреннее интерфейсное API вашего сервисного уровня не вызовы методов, а состояния и переходы между ними. Это для более-менее серьёзной серверной логики, но отображает правильный подход к кодингу асинхронных систем.
2. вы въедете в ноду только после прочтения этих двух книжек:
— www.amazon.com/...io-Casciaro/dp/1783287314
— www.amazon.com/gp/product/1937785270
— и по вкусу из СЕРПа: www.google.com/...nchronous design patterns
3. Рекомендую не юзать официальную ноду, а сразу iojs.org/en/index.html
Правда, писать
class MyChild extends MyParent { constructor(one, two, three) { super(one, two); this.three = three; } }на порядок доставляет больше, чем что-либо из около
желательно на примере NodeJs+socketюзайте фреймвёрк ;) тот же sailsjs.org/# из коробки например ;)
зы: разумеется, если рассматривать ноду чисто как CRUD бэкэнд для простенькой вебмордочки, то всякие FSM — лишнее, но вопрос, имхо, подразумевал матчасть по более глубоким понятиям проектирования асинхронных архитектур вообще.
бред имхо... любое приложение способное меня спровоцировать на более чем 2а постукивания на третье отправляется в «корзину» )
зы: «Оно, может, и умно, но больно непонятно. Над вами потешаться будут»
* Популярную: MEAN (под backend особо рекомендую sailsjs.org но есть свои минуса, отсутствие нормальной многомодульности например... есть форк github.com/sailorjs/sailorjs но заброшенный к сожалению)
* Более востребованную: старый добрый «быдлопак» © — LAMP
В случае LAMP, от себя рекомендую забить на симфонию, ибо слишком тяжеловесна, а энтерпрайз в ПЫХе таки моветон, имхо. В качестве альтернативы посмотрите на laravel.com + octobercms.com (да, после нескольких лет на симфони, глубоко вздыхаю по причине отсутствия бандлов, но жить вообще страшно, так что, как чисто напофрилансить за пожрать — это та самая платформа).
А так вообще: JEE7 / Play Framework
Angular vs все-все-все: Angular — бох, забудьте про остальные. Да, по официальной документации изучить именно на том уровне, когда ты не просто умеешь ставить в шаблонах байндинги, а понимаешь, как работает твоя новая кастомная «навороченная» директива,- весьма сложно... но поверьте, оно того стоит. У меня на это ушло около трех месяцев, и это только вообще что бы понять, как работают ng-директивы из коробки, так что вот небольшой список полезных ссылок, которые вам очень пригодятся:
*. Найти книжку «NG Book» (гуглится)
1. разумеется: docs.angularjs.org/guide да, сложно, сперва вообще ничего непонятно, а тем более нужно прочитать всё то, что в содержании в колонке слева
2. docs.angularjs.org/api — это вообще должно быть открыто в отдельном инстансе браузера во всех закладках )
3. github.com/angular/angular.js/wiki (дополнение и уточнение к
4. github.com/...wiki/Understanding-Scopes и github.com/.../Understanding-Directives — действительно нужно понять
5. github.com/...wiki/Understanding-Scopes и github.com/.../Understanding-Directives — прочитайте ещё раз, вы не поняли
6. github.com/angular-ui/ui-router — просто то, на чем должно основываться каждое новое SPA
7. Пройти это campus.codeschool.com/...-up-with-angular-js/intro
В общем, важно понимать, что Angular — будущее, ибо гугле, ES6 и angular.io Angular2 — совсем другая платформа (не смотря на es6-shim и прочие оптимистические заверения, что его можно юзать ещё вчера), но пока портируют все необходимые сторонние модуля, у вас будет минимум год, что бы отбить бабло потраченное на электроэнергию в процессе изучения 1й ветки.
И в виде отдельного ништяка, который вам вручит Angular, если вы его выучите — ту самую ультрапопулярную и востребованную технологию: современные Hybrid Apps
1. ionicframework.com
3. ngcordova.com
2. material.angularjs.org
ну даже если и будет, может самую незначительную часть JEE отожмёт только и всего... не думаю, что все сразу формошлёпить под никсами на .NET-е начнут, там своих форточек более чем.
с другой стороны, сейчас с www.robovm.com вожусь, надеюсь Xamarin шарповый выкинуть впоследствии. Кстати, от robo двойной профит: одной ногой в джаве, другой — в API нейтивных либах iOS.
Да ну все эти Symfony, Zend-ы и прочее — похапэ реализации JSR-299 & JSR-330 + свои свистелки и примочки, что в принципе, в свою очередь делает процесс кодинга на стэке ЛАМПы не столь уж унылым, по сравнению со всеми этими процедурными акшенами, хуками и фильтрами вёрдпресса или ты_должен_знать_имя_этой_длинной_функции_чтоб_получить_ID_таксономии_по_материалу в старых Dru
С другой стороны, меня до сих пор дёргает от тех шаманских плясок, что б это сдружить с этим (или таксономии от второго в админку первого прикрутить) так, что б ничего другого при обновлениях не упало... не говоря уже просто о дефолтовой установке cmf.symfony.com с phpcr odm в качестве сторейдж леера.
поэтому, адекватная и стабильная админка с таксономиями и прочими views от друпала на кодовой базе symfony, более чем ожидаемое событие... последние несколько лет уже как )
ну, честно сказать, если для начинающего фронтэнд JS-кодера, то там первые две ссылки must read ;)
вдогонку по второй: jqueryboilerplate.com
Уже к концу занятий я взахлеб увлекся JavaScrip.тогда курсы, имхо, лучше заменить этим (ссылки на варезные pdf-ки здесь не даю, гуглятся сходу):
1. www.packtpub.com/...nted-javascript
2. shop.oreilly.com/...636920025832.do
3. www.amazon.com/...g/dp/193398869X (главы 5 и 6. наиболее простую и красивую, на мой взгляд, реализацию этого подхода наследования можно сразу смотреть здесь: github.com/...t/construct.js
CMS(WordPress)не-не-не, потому как
Сильно меня зацепила одна библиотека jQuery (аккордеон). Ее корявость настолько меня впечатлила, что я решил написать свою со временем.а ещё один подобный «блогодвижок» никому не нужен ;)
Адекватные PHP CMS-ки, на которые стоит обратить внимание:
1. modx.com
2. www.drupal.org/drupal-8.0
Фреймвёрки:
1. symfony.com
2. phalconphp.com
3. laravel.com
хотя в PHP проще вляпаться, чем из него выйти, поэтому, имхо, если
сидя вечером у костра, в хлам накушавшись заговорили мы о той самой математике. Как оказалось мои знания никуда не делисьто возможно, сразу лучше геймдев и что-то типа этого:
1. biz.turbulenz.com/developers
2. www.cocos2d-x.org/...wiki/Cocos2d-JS
угу, но там главное не как они называться будут, а ES6 нативно, без всяких babeljs.io