?

Log in

No account? Create an account
   Journal    Friends    Archive    Profile    Memories
 

Web Stack books - morfizm


May. 21st, 2014 01:06 pm Web Stack books

Посоветуйте, пожалуйста, книжки по современному web-стеку (HTML5, JS, CSS, etc.)

Предпочтения:
- одна или несколько hard-copy книжек (я очень плохо читаю с экрана материал на какую-то новую тему, а мой уровень понимания веб технологий близок к "динозавру", так что, практически, это будет новая тема),
- желательно поменьше воды и всяких подробных walk-through для дебилов, многие современные книжки этим грешат; небольшие примеры, чтобы проиллюстрировать использование фичи is OK,
- хотелось бы как можно более полное покрытие всего, что есть: чтобы были затронуты разные фичи языка, элементы, надо очень подробно DOM и программные возможности его менять, библиотеки (вроде node.js) плюс, может, немного об общем подходе к проектированию современных веб-приложений с современной т.з.

Короче, хочется чтобы это было сильно похоже на reference manual, но (а) иногда с небольшими примерами, (б) много в одном - с покрытием по разным related technologies, (в) с некоторым (но небольшим) количеством обще-идеологического материала по web development'у. Желательно одна толстая книжка, которую можно листать как энциклопедический словарь, а можно читать подряд. Но можно и несколько книжек.

12 comments - Leave a commentPrevious Entry Share Next Entry

Comments:

From:sasha_gil
Date:May 21st, 2014 10:58 pm (UTC)
(Link)
Поспешу с довольно популярным советом по JS: "JavaScript: The Good Parts":
http://www.amazon.com/JavaScript-Good-Parts-Douglas-Crockford/dp/0596517742
-- хорошо читается, автор старается объяснить своё виденье. Недостатки: а) сам язык / стандартная библиотека с тех пор продвинулись, а Крокфорд новых изданий не выпускал; б) его подход (что такое хорошо, что такое плохо) не есть истина в последней инстанции, не все авторы фреймворков его разделяют и даже его тул для проверки стиля (jsLint) отфоркали в более популярный (потому что менее упёртый) тул jsHint.

Вторая книга по JS, которой я пользовался -- тоже популярный совет, "JavaScript: The Definitive Guide"
http://www.amazon.com/JavaScript-Definitive-Guide-Activate-Guides/dp/0596805527
-- по-моему, просто достаточно подробный справочник, автор издание обновлял регулярно.

Edited at 2014-05-21 10:59 pm (UTC)
From:dennyrolling
Date:May 22nd, 2014 02:37 pm (UTC)
(Link)
все так:


Edited at 2014-05-22 02:38 pm (UTC)
From:sim0nsays
Date:May 22nd, 2014 04:46 pm (UTC)
(Link)
+1 к Крокфорду
From:lyuden
Date:May 22nd, 2014 04:29 am (UTC)
(Link)
Мои соболезнования динозаврам - но книжки зло.

htlm5rocks.com - более или менее

Вообще я бы посоветовал просто открыть хром и начать.

Из модного сейчас насколько понимаю - meteor.js

Так же если уж говорить про книжки я бы посмотрел на Functional Javascript, сам не читал но хочу.


Дальше. Есть мнение что настоящему программисту СSS и HTML не особо то и нужен.

Дальше идет ИМХО

Возможно нужно знать vanilla js, что такое websockets и может быть Local Storage если это не геймдев.

Даже мы в рашке сейчас разрабатываем проект у которого ожидается что больше половины пользователей будут с мобильных устройств и нативных приложений соответсвенно.

Более того мне (и моей команде) кажется что сама идея REST интерфейсов устарела и надо все пилить через кастомные протоколы (громкое название для посылки json или message pack комманд) поверх вебсокетов

Архитектура на новом проекте - проста как валенок - есть node.js фронтенд который сервит статику и разбирается с фронтендом, фронтенд из браузера клиента может получать данные по вебсокету. node.js может получать данные для допустим пререндеринга веб страниц через быстрые сокеты ZeroRPC.

К просто TCP сокетам по тому же протоколу подключаются мобильные клиенты.

Бакенд бизнес логика и работа с бд прочее написано на питоне.

Не могу сказать что это работает, пока. И что оно хорошо масштабируется в боевом режиме, да и у нас вряд ли будет больше 5000 одновременных пользователей, так что судя по тестам, можно это реализовать на одном сервере.

Но по моему какой то интерфейс кроме сокета придумать сложно не нужно и создает излишний оверхед.

From:soloviewoff
Date:May 22nd, 2014 01:31 pm (UTC)
(Link)
+1 к html5rocks.com

Еще caniuse.com
From:soloviewoff
Date:May 25th, 2014 09:24 am (UTC)
(Link)
Не совсем понятен логический переход REST -> кастомный протокол поверх web socket. Имеется в виду, что не хочется быть stateless, а хочется stateful persistent connections? Так масштабироваться же сложнее будет, по моему. И сервера апгрейдить. И все прочее, что дает statelessness.
From:lyuden
Date:May 25th, 2014 05:18 pm (UTC)
(Link)
Смысл в том чтобы убрать HTTP и упростить систему, сделав единый протокол для браузера и нативных клиентов которых скорее всего будет больше половины.

А не танцевать с бубном реализуя преобразование запросов в REST API запросы на клиенте потом это разбирая на сервере и тоже самое обратно.

У нас насколько я понимаю stateless в вашей терминологии. Мы делаем тоже самео. Просто убираем ненужную прокладку http и REST API.

Не вижу почему это должно скейлиться иначе чем основанное на REST решение.

Со стороны питона мы просто отдаем получаем dict ы. А nodejs получает отдает объекты.

Удобство чисто на самом деле техническое плюс желание поизобретать велосипеды и нежелание мараться умирающим (IMHO) вебом и всем стеком технологий с ним связанным.

Я просто скажем так хотел показать, возможные варианты, возмножно не самые стандартные.
From:soloviewoff
Date:May 25th, 2014 07:34 pm (UTC)
(Link)
Понятно. Если Web Socket используется просто как удобный транспорт для запросов и ответов, и в случае разрыва соединения оно переустанавливается без потери чего-либо, то понятно. Под stateless я имею в виду, что клиент не делает предположений между запросами, что он говорит с одним и тем же сервером.
From:lyuden
Date:May 25th, 2014 07:49 pm (UTC)
(Link)
Ну скажем так API предполагает что запросы приведут к одинаковому результату в случае даже если он будет обращаться к разным серверам.

Стейт хранится в Postgres базе данных. Все приложение - обертка над ней. Никаких стейтов своих обертка не добавляет, за этим я строго слежу и это специально оговорено. Насколько Postgres c этим справится не знаю, мое начальство сказало не париться и хреначить пока так - потом типа разберемся.
From:victorgr
Date:May 22nd, 2014 09:14 am (UTC)
(Link)
Если нужен DOM и большая толстая книжка, то это конечно же "JavaScript: The Definitive Guide", как уже рекомендовали выше.

От себя добавлю ещё одну замечательную: "Effective JavaScript: 68 Specific Ways to Harness the Power of JavaScript" — как раз короткие главы на пару страниц и конкретные примеры. Есть и на русском.

Да, обязательно стоит прочитать The Good Parts, книга очень короткая, всё полезное там читается за несколько часов.

Я так же посоветую Maintainable JavaScript — очень правильно про хороший стиль кода в JS.

И сам собираюсь в ближайшее время начать Functional JavaScript — об этой книге слышал много хороших рекомендаций.
From:me_milady
Date:May 22nd, 2014 10:21 am (UTC)
(Link)
Хммм.. не думаю, что есть 1 книга покрывающая всё-всё.
Скорее всего нужно освежить основное, пробежавшись по какому-нибудь "Web development for beginners" а затем углубляться в каждую из тем, если нужно (HTML5, CSS, JavaScript, и backend технологии (node.js))

Мне когда-то помог вот этот ресурс (там правда реклама раздражает)
http://www.w3schools.com/html/
http://www.w3schools.com/css/
http://www.w3schools.com/js/
Это не книга, это reference, но свежий и понятный.

Edited at 2014-05-22 10:24 am (UTC)
From:ermouth
Date:May 26th, 2014 12:32 am (UTC)
(Link)
Крокфорда читать не советую прямо сразу, лучше начать с http://eloquentjavascript.net/. Оно есть и книгой.

http://chimera.labs.oreilly.com/books/1234000000262/index.html – можно купить книжкой.

http://shop.oreilly.com/product/0636920016038.do