LINUX.ORG.RU

Посоветуйте книжку по JS для начинающих

 ,


4

6

Немножко знаю процедурное программирование на разных языках, могу написать что-нибудь несложное с шаблончиком и базой с использованием простых фреймворков (Dancer/Sinatra), могу с грехом пополам использовать готовый чужой несложный яваскрипт, а вот приспособить под свои нужды относительно навороченные таблицы - уже нет, базы не хватает.

На самом деле хочу научиться делать одностраничные приложения, связанные с поиском и сортировкой небольших объёмов данных из всяких YAML файликов и Lucene/Elasticsearch.

Посоветуйте, пожалуйста, книжку или две для тупых под такой бэкграунд и цели.

★★★★★

Книжек не знаю. Я программистам даю вот это https://github.com/nodeca/nodeca/blob/master/docs/developer-setup/for-beginne... . Чтобы лисапедов не городили.

Парсер ямла вот https://github.com/nodeca/js-yaml . Но по-моему парсить ямл на клиенте - не очень хорошая идея, туда проще JSON кидать.

Под одностраничники наверное проще всего брать angular.js, компоненты под таблички там есть.

Для сборки надо либо require.js и аналоги осваивать, либо писать как под ноду в commonjs, и потом компилировать. Ну и есть всякие сборщики ассетов, типа sprockets в рубях или его порта mincer в ноде.

Vit ★★★★★ ()
Ответ на: комментарий от Vit

Я программистам даю вот это

Нет проблем найти библиотеку, есть проблема её нормально использовать. Если с CPAN я могу что-то стащить, почитать доку и нормально пользоваться (ну как нормально, всё наверное плохо, но я хоть немного понимаю, что я делаю и зачем), то вокруг яваскриптовых библиотек я прыгаю с бубном, это плохо. Мне вот это вот нравится: http://microjs.com/#

Но по-моему парсить ямл на клиенте - не очень хорошая идея, туда проще JSON кидать.

Не буду, я и так его периодически конвертирую, чтобы убедиться, что структура не поехала, это не про формат, а скорее про объём данных. Сто файликов прожевать, ну двести.

Hoodoo ★★★★★ ()
Последнее исправление: Hoodoo (всего исправлений: 2)
Ответ на: комментарий от Hoodoo

В книжках «по JS» не будет нормального использования библиотек. Проще доку по конкретной библиотеке читать, там примеры обычно есть. Ну и есть базовые библиотеки типа lodash (underscore) которые просто надо знать, потому что новички сдуру часто начинают «улучшать» яваскрипт невменяемыми способами. По моей ссылке как раз список того, что нужно знать обязательно (IMHO).

1. Надо понимать, что сейчас пишут именно на Ecmascript5 + HTML5. Соответственно, надо освежить в памяти, что там уже есть.

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

Это принципиальные моменты. Остальное - в доках по конкретным библиотекам. Как-то так.

Vit ★★★★★ ()

Неплохие книги у автора JQuery. Изложены просто и понятно. На его персональном сайте упоминаются.

Дополнительно: ECMA-стандарт почитывать, MDN

Еще списочек (см. issues) https://github.com/revolunet/JSbooks

swwwfactory ★★ ()
Последнее исправление: swwwfactory (всего исправлений: 2)
Ответ на: комментарий от postgred

Нет не любая.

O'Reilly Media - моя любимая книжная лавка и моё любимое издательство (одно из двух, O'Reilly и No Starch Press).

В частности у них есть хорошая новичковая серия Head First. Вот Head First SQL пошло на ура, а Head First JS что-то нет. Но это совсем простые примеры.

Просто про JS понаписано очень много, в т.ч. издано O'Reilly, всего не перечитаешь, поэтому я и спрашиваю.

Hoodoo ★★★★★ ()
Ответ на: комментарий от zarkone

JavaScript Гарден не cтавит себе целью научить вас языку JavaScript. Вам понадобится реальный опыт работы с языком чтобы понимать темы, рассматриваемые в этом руководстве.

Почитаю, как будет опыт, спасибо.

Hoodoo ★★★★★ ()
Ответ на: комментарий от zarkone

Потыкался по этому вашему гардену, ИМХО, много неточностей, и материал изложен без должного понимания. например:

function Counter(start) {
    var count = start;
    return {
        increment: function() {
            count++;
        },

        get: function() {
            return count;
        }
    }
}

var foo = Counter(4);
foo.increment();
foo.get(); // 5

В данном примере Counter возвращает два замыкания: функции increment и get. Обе эти функции сохраняют внутри себя ссылку на область видимости Counter и, соответственно, имеют свободный доступ к переменной count из этой самой области.

Во-первых, зачем там лишняя прослойка в виде var count=start?

Во-вторых, Counter возвращает не замыкания, а объект, содержащий их.

Как минимум, изложено безграмотно, щас пороюсь, наверняка там и ошибки есть.

А что на javascript.ru, кстати не так? Можно пример?

phill ()
Ответ на: комментарий от zarkone

Ну да, вот, тупо, ошибка

Внутри функции this ссылается на глобальный объект.

This вообще никуда не ссылается, он получает свое значение в рантайме.

phill ()
Ответ на: комментарий от phill

Counter возвращает не замыкания, а объект, содержащий их.
This вообще никуда не ссылается, он получает свое значение в рантайме.

Судя по вашим комментариям, вы неплохо разбираетесь в предмете. Может подскажете - есть ли такой онлайн ресурс или книга, где объясняются подобные тнокости JS. Вещи - без которых нельзя нормально программировать на данномм языке, прототипы и т.д.

Vit, этот же вопрос к вам

anonymous ()

Книжка с носорогом.

для одностраничных - angular.js or backboone or knockout.js

windofchange ()

сразу спеку с сайта мозиллы качай. она вполне годная.

anonymous ()
Ответ на: комментарий от Vit

Инфа в репозитории устарела. Нынешняя LTS-ка уже 14.04

Deleted ()
Ответ на: комментарий от anonymous

Да я бы не сказал, что я хорошо разбираюсь, я тоже учусь. Но, вообще, книжки по JS, которые мне попадались, либо уходят в дебри технических деталей, либо вообще преподносят с ошибочной точки зрения. Все хвалят Крокфорда, но я глянул, как-то, там тоже не все идеально, имхо, плюс это его фанатичное поклонение ФП отталкивает.

По-идее, если учесть, что js — это гремучая смесь селфа и схемы, лучше что-нибудь почитать по лиспу селфу и смолтоку, я думаю, но мне лень читать, я методом тыка, в основном:)

phill ()
Ответ на: комментарий от Hoodoo

Попробуй «JavaScript подробное руководство». Я с неё начинал.

postgred ()
Ответ на: комментарий от owhy

Вот это отлично выглядит, и на книгу хорошие отзывы, и план есть, и что делать дальше написано. Пожалуй что так и сделаю.

Hoodoo ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.