Предметом сегодняшней утренней сессии « Разговор с экспертами» был JavaScript, а нашим экспертом был Ара Пехливанян — соавтор нашей последней книги « Jump Start JavaScript» . Это была насыщенная сессия, и вопросы варьировались от базовых до продвинутых, что дало освежающий час. Ара превосходно отразил орды и даже сумел хорошо провести время. Впечатляет.
В ходе сеанса появилось много полезных ресурсов, и, чтобы сэкономить на фильтрации всей записи, они перечислены ниже. Если вы пропустили сеанс и хотите посмотреть, как все прошло, то вам повезло — вы также найдете стенограмму ниже.
Ресурсы:
Книга Ары — Jump Start JavaScript (вы можете просмотреть первую главу бесплатно)
Интересная статья о том, как помочь людям научиться программированию .
Удивительные ресурсы JavaScript Дугласа Крокфорда
Интересная статья о прототипах
Несколько инструментов для рисования JS: JSLint & JSHint
Как активировать консоль браузера, чтобы получить доступ к отладчику
Ресурсный сайт Mozilla JS
Ресурсы JavaScript на WebPlatform.org
Скобки — редактор с открытым исходным кодом
jQuery на Github
YUI на Github
Магистраль на Github
Подчеркни на Github
И, наконец, некоторые инструменты JS Templating: Mustache JS Handlebars JS и Underscore.
Если вы пропустили эту сессию из-за того, что не знали об этом, обязательно подпишитесь на уведомления по электронной почте о будущих сессиях здесь.
И, наконец, на следующей неделе мы попробуем что-то немного другое . Наш внутренний гуру CSS Алекс Уокер поможет вам с любыми хитрыми проблемами CSS, которые могут у вас возникнуть, так что не пропустите этот вопрос.
А теперь … стенограмма. Наслаждаться.
[21:23] <HAWK> Привет всем — мы скоро начнем. Не стесняйтесь представиться в то же время.
[21:23] <Ara> Привет, меня зовут Ара, и я стал соавтором Jump Start JavaScript с Доном Нгуеном. 🙂
[21:24] <codepo8> Меня зовут Крис, и я люблю Интернет
[21:25] <HAWK> Я Хок, и я менеджер сообщества в SitePoint — я буду модерировать эту сессию
[21:30] <HAWK> Верно — так что мы можем начать
[21:30] <HAWK> Есть только две вещи, которые вам действительно нужно знать. Вы можете @ пометить людей, чтобы привлечь их внимание, и вы можете задавать вопросы в любое время.
[21:30] <HAWK> Если Ара отвечает кому-то еще, я поставлю его в очередь за него
[21:31] <Ara> Итак, одна вещь, которая мне показалась интересной при написании книги, была попытка выяснить, в каком порядке объяснять вещи.
[21:31] <HAWK> Я предполагаю, что все знают, что Ара — наш эксперт, и он — автор нашей последней книги — JumpStart JavaScript, которая выходит сегодня
[21:31] <HAWK> https://learnable.com/books/jsjavascript1
[21:33] <Ara> Многое взаимозависимо. Так, например, при объяснении массивов было несколько случаев, когда вы могли бы что-то делать с массивами, используя функции, но мы еще не рассмотрели функции…
[21:33] <Ara>… так что это была одна из тех ситуаций, «мы поговорим об этом более подробно позже».
[21:33] <Ara> Это случилось несколько раз.
[21:33] <codepo8> это сложно
[21:33] <Сагар> Это хорошая линия мышления.
[21:33] <codepo8> лично я хочу, чтобы «здравствуй, мир» умер в большом пожаре.
[21:33] <Джонласи> лол. Я люблю «Привет, мир».
[21:33] <HAWK> Да, хотя есть что сказать для «Hello World»
[21:33] <codepo8> объяснение концепций в контексте приводит людей в гораздо большее возбуждение.
[21:34] <MalCurtis> Должна быть общая книга «Основы программирования», не зависящая от языка, которую каждый должен прочитать перед прочтением любой другой книги по программированию.
[21:34] <Ara> К сожалению, я использовал «Hello, world» один или два раза. Но я думаю, что я также попал в несколько «мировых доминирований».
[21:34] <Ara>;)
[21:34] <Velochicdunord> Да. Один из моих вопросов, как студент CS, просто с чего начать с существующих библиотек и API
[21:34] <MalCurtis> Потому что каждая книга должна освещать это до бесконечности
[21:34] <steven> MalCurtis, Искусство компьютерного программирования: P
[21:35] <codepo8> Изучаемое программирование пытается разрушить эту идею. http://worrydream.com/LearnableProgramming/, и я видел, как люди получают быстрый старт с этим подходом.
[21:35] <MalCurtis> Стивен JumpStart: каждый язык … когда-либо.
[21:35] <Velochicdunord> Я имел в виду API Javascript. Например, какие из них наиболее полезны для веб-разработчиков по сравнению с играми.
[21:35] <Ara> Velochicdunord: много базового API полезно в обоих сценариях
[21:36] <Ara> Velochicdunord: Или ты имеешь в виду DOM API?
[21:37] <codepo8> начинать с игры опасно. Чтобы игры работали, вам нужно обойти множество углов и ввести множество концепций, применимых только к игре, таких как тикер и основной цикл. Вам никогда не нужно это в сценарии «веб-сайт» или «веб-приложение».
[21:37] <Ramy>, так это просто книга на javascript, которая, как мне кажется, в 2007 году устарела?
[21:37] <Ara> Velochicdunord: Если вы создаете игру, большая ее часть будет построена с использованием логических операторов основного языка, манипулирования данными и т. Д. — именно когда вы дойдете до рендеринга, выбор игры против Веб сделан.
[21:38] <HAWK> Ramy Simply JavaScript все еще является действительным ресурсом, но, как вы говорите, он был написан некоторое время назад, поэтому эта новая книга
[21:38] <Ara> Вы можете выбрать рендеринг вашей игры, используя Canvas, или использовать спрайтов, которыми манипулируют в DOM.
[21:38] <Ramy> спасибо HAWK за ответ 🙂
[21:38] <brick> @ А как насчет зависимостей браузера? не безопаснее ли использовать jQuery?
[21:38] <Velochicdunord> Хорошо, так что посмотрите на DOM (чего я еще не сделал): P
[21:39] <Ara> Ramy: Я бы не сказал, что он устарел, но JavaScript продолжает развиваться, поэтому мы должны идти в ногу с этим развитием.
[21:39] <Velochicdunord> Итак, какие биты лучше всего подходят для каких целей? Доступные библиотеки умножаются ежемесячно.
[21:39] Кирпич <Ara>: Это определенно безопаснее и экономит время, но всегда лучше знать, что происходит внутри библиотеки, имея твердое понимание родного JavaScript.
[21:39] <Ramy> Спасибо, Ара 🙂
[21:40] <HAWK> Всем остальным на сессии — не ждите паузы, если у вас есть вопросы. Прыгай, и я буду в очереди.
[21:40] <Ara> Velochicdunord: DOM — это, по сути, HTML веб-страницы, преобразованный в иерархию объектов. Работа с DOM означает обновление веб-страницы.
[21:40] <JoshySav> Только что присоединился: один вопрос: jQuery или простой javascript?
[21:41] <Ara> JoshySav: зависит от того, что ты делаешь. Чаще всего вы не хотите изобретать велосипед, jQuery. Но вы не будете писать 100% своего кода в jQuery, так что вот где появляется нативный JavaScript. Также хорошо знать, что делает jQuery.
[21:41] <кирпич> я слышу эхо
[21:42] <johnlacey> Если вы делаете что-то простое, вы можете избежать лишнего веса JQuery.
[21:42] <Ara> JoshySav: Кроме того, по мере развития JavaScript многое из того, что раньше делал jQuery, становится изначально доступным в браузерах. Например, долгое время мы использовали код getElementsByClassName вручную. Теперь библиотеки передают нативный метод, если он существует.
[21:42] <Ara> Джонласи: Да. Это действительно решение, которое будет принято в каждом конкретном случае.
[21:42] <Ara> кирпич: извинения 🙂
[21:42] <JoshySav> Круто, спасибо 🙂
[21:43] <johnlacey> @Ara — То есть любые ошибки новичка, о которых, как вы думаете, должны знать новички в Javascript?
[21:43] <JoshySav> Еще один вопрос, почему в Интернете так много технологий, использующих JavaScript?
[21:43] <codepo8> Много jQuery было необходимо, чтобы закрыть дыры в поддержке браузера и упростить сложные способы доступа к документу. Это изменилось. Браузеры более совместимы со стандартами, и многое из того, для чего мы используем jQuery, может быть сделано в CSS, и там это может быть аппаратно ускорено и память оптимизирована браузером для вас.
[21:44] <HAWK> johnlacey — я бы сказал, полагаясь на это, учитывая, что в наши дни многие люди отключили его;)
[21:44] <johnlacey> @ Хоук — Абсолютно. Это мой страх. лол
[21:44] <Ara> johnlacey: переменная область видимости может быть проблемой. Если вы не понимаете переменную область действия, вы можете перезаписать данные и вызвать ошибки. Кроме того, понимание принуждения типов является еще одним. Незнание разницы между == и === может привести к непредвиденным последствиям.
[21:44] <codemaestro> Я не совсем следил. Являются ли авторы за или против изменения прототипов объектов JavaScript?
[21:45] <Velochicdunord> Thx codepo8.
[21:45] <codepo8> @HAWK хорошо, блокируя людей за их отсутствие. Вы можете положиться на JS — если то, что вы строите, делает процесс более плавным. Основные функциональные возможности всегда должны быть заданы. Ссылка должна указывать куда-то, а не запускать JavaScript, который может быть сломан.
[21:45] <HAWK> Привет, codemaestro — это не было рассмотрено. Давайте бросим это Ара
[21:45] <Ara> JoshySav: JavaScript является де-факто скриптовым языком для браузеров. Раньше вы могли выбирать между Microsoft Visual Basic и JavaScript, но JavaScript победил. Предпринимаются попытки представить конкурирующие языки сценариев (например, Google’s Dart), но JavaScript в значительной степени является единственным выбором.
[21:46] <JoshySav> Ара Спасибо 🙂
[21:46] <JoshySav> Приятно общаться с людьми с мозгами;)
[21:47] <Ara> codemaestro: Это трогательная тема. Некоторые библиотеки делают это, а некоторым разработчикам это удобно, но вы должны помнить, что в Интернете ваш код будет сосуществовать с другими людьми чаще, поэтому, если вам действительно нравятся прототипы нативных объектов, вы можете начать сталкиваться с конфликтами с чужим кодом.
[21:47] <Ara> JoshySav: Я полагаю, вы имеете в виду других гостей. 🙂
[21:47] <johnlacey> @Ara — Учитывая, что Javascript можно отключить (как указывал @Hawk ранее), есть ли определенные вещи, для которых вы должны избегать его использования?
[21:47] <HAWK> Я думаю, что он говорил обо мне, Ара
[21:47] <JoshySav> 🙂
[21:47] <Ara> HAWK: 🙂
[21:48] <JoshySav> Если честно, у скольких людей JavaScript отключен?
[21:48] <codemaestro> Спасибо Ара, поэтому ответ таков: «Это зависит».
[21:48] <HAWK> Да, интересный вопрос JoshySav. Я (очевидно) провожу много времени на форумах SitePoint, так что моя перспектива искажена — но есть довольно большой контингент людей, которые делают …
[21:48] <Ara> johnlacey: Это полностью зависит от сайта / приложения, которое вы создаете. Если он должен быть доступен на 100%, то вам нужно изучить прогрессивное улучшение, при котором сайт будет работать с JavaScript и без него. Но не на всех сайтах и в приложениях есть такое требование, так что вы можете обойтись без приложения JavaScript. Это в каждом конкретном случае.
[21:49] <HAWK> ребята
[21:49] <codepo8> У всех отключен JavaScript до тех пор, пока не будет загружен и выполнен первый скрипт. Если что-то пойдет не так и все ваше приложение будет зависеть от этого, вы потеряли пользователя.
[21:50] <johnlacey> В моей жизни очень много проверок форм, основанных на Javascript… но я думаю, на всякий случай мне понадобятся резервные копии PHP. лол
[21:50] <Velochicdunord> Ara — какие-нибудь рекомендуемые ресурсы (кроме вашей книги, конечно) относительно лучших практик для реализации и использования Javascript? Ваша книга охватывает это?
[21:50] <ginader>, особенно в мобильных средах, более вероятно, что пользователь не сможет загрузить js, а не повернет js
[21:51] <Ara> johnlacey: Как правило, вы никогда не должны полагаться на JavaScript как на единственную форму проверки данных. Его следует использовать скорее для удобства, чем для обеспечения безопасности, поскольку люди могут не только отключать JavaScript, но и связываться со значениями и функциями в браузере.
[21:52] <codepo8> ^ это. У меня есть cURL, и я буду его использовать!
[21:53] <codepo8> Страница загрузки Chrome не работала полдня на днях из-за ошибки JS: http://icant.co.uk/talks/h5/pictures/jqueryeu/chrome-download- broken.png — Большой явной ошибкой здесь была ссылка «javascript: void (0)». Это преступления, которые мы не должны совершать в наши дни.
[21:53] <Ramy> — это книга, объясняющая синтаксис JavaScript и DOM и использующая его в браузерах, или через современные приложения для мобильных платформ?
[21:53] <HAWK> Меня интересует вопрос Velochicdunord: какие рекомендованные ресурсы (кроме вашей книги, конечно) относительно лучших практик для реализации и использования Javascript?
[21:53] <Ara> Velochicdunord: я расскажу о некоторых лучших практиках в книге, но не буду вдаваться в подробности. Существует несколько идей о лучших методах JavaScript. Лично я приписываю образ мышления Дугласа Крокфорда ( http://www.crockford.com/) . В сообществе jQuery вы найдете множество методов защитного программирования, таких как инкапсуляция вашего кода в
[21:53] <Ara> IIFE (выражение для немедленного вызова функции), где значения «undefined» и «window» переинициализированы.
[21:54] <Velochicdunord> Я только что нашел Дуга Крокфорда в феврале этого года. Еще многое покопаться.
[21:54] <codepo8> Вы потеряли его раньше?
[21:54] <Ara> Более конкретная ссылка на Крокфорда на JavaScript: http://javascript.crockford.com/
[21:55] <Ara> Ramy: Книга объясняет синтаксис JS и DOM, но не имеет прямого отношения к мобильным средам.
[21:55] <Velochicdunord> codepo8 🙂 — нет — как нуб, раньше о нем не слышал. Я на полпути к своей серии лекций по истории Javascript.
[21:56] * Mattevans слегка хлопает МалКуртиса большой форелью
[21:56] <HAWK> Ах — старый шлепок форели
[21:56] <mattevans> 🙂
[21:56] <Джонласи> лол. Я не видел шлепка старой форели вечно.
[21:57] <Ara> Velochicdunord: он является автором JSLint ( http://www.jsliint.com). Это инструмент JavaScript, который поможет вам найти ошибки в вашем коде. По сути, это воплощение идеи Крокфорда, когда дело касается стиля кода. Некоторые люди расходятся с ним и раздвоили JSLint и создали JSHint ( http://www.jshint.com), который делает то же самое
[21:57] <Ara>, но считается более дружелюбным.
[21:58] <HAWK> Теперь, когда все немного тише — кто-нибудь задавал вопрос, на который еще не ответили?
[21:58] <ralphm> Я прочитал несколько книг по JS, но когда я сам по себе, мне трудно «думать» на JavaScript. Если что-то не работает, трудно понять, куда обратиться. Часто JSLint и JSHint сообщают, что код в порядке, но он не работает. Тогда возникает вопрос: «Как мне общаться с браузером?». Какие-нибудь советы о том, как сделать следующий шаг, кроме поиска в Google?
[21:58] <Velochicdunord> Мерси — да, нашел бизнес JSLInt & Hint. 🙂
[21:58] <codepo8> Поработав некоторое время с Дугласом, было очень интересно. Он знает свое дело, но может быть очень догматичным. Мне это нравится. Если вы никого не раздражали в своей жизни, то, вероятно, у вас не было ни мнения, ни новых мыслей.
[21:59] <Ara> Ральфм: научись любить отладчик. Я обнаружил, что если вы устанавливаете точки останова в своем коде, а затем шагаете по нему, внимательно следя за передаваемыми значениями, вы часто обнаружите, что происходит довольно быстро.
[22:00] <codepo8> @ralphm инструменты разработчика в браузерах скажут вам во многих случаях, что не так. JSLINT только говорит вам явные проблемы с синтаксисом. Например, сбой взаимодействия или данные, поступающие в неправильном формате, не улавливаются им. Вот где вам помогает консоль ошибок браузера.
[22:00] <Ara> ralphm: Все основные браузеры теперь имеют встроенные отладчики. На самом деле я рассказываю, как активировать консоль браузера, чтобы получить доступ к отладчику, в первой главе книги: https://learnable.com/books/jsjavascript1/online/ch01.html#d5e162
[22:00] <Барни>, чтобы раздражать кого-то, это легко сделать … просто скажи «MS Rulz!»
[22:00] <Velochicdunord> Барни 🙂
[22:00] <johnlacey> Мне бы хотелось, чтобы у меня было больше вопросов… но я жду, пока кофе достигнет моего мозга. Однако я скачал книгу и с нетерпением жду ее чтения.
[22:01] <codepo8> также просто играть с консолью — это весело. Типа навигатор. и увидеть все, что предлагает вам браузер, и поиграть с ними. Много раз вы находили функцию, о которой никогда не слышали.
[22:01] <ralphm> На самом деле я не разбирался в отладке, кроме использования console.log () в разные моменты времени, чтобы увидеть, где находится код. Проблема в том, что если что-то идет не так, не говорится, что еще попробовать, и вот тут я немного застреваю.
[22:01] <Барни> «… принимает заслуженный поклон!»
[22:01] <Ara> johnlacey: не стесняйтесь задавать мне больше вопросов в любое время. Я @ara_p в Твиттере
[22:01] <Ara> Это касается и всех остальных. Я всегда свободен отвечать на вопросы. ^^
[22:01] <johnlacey> @Ara — Спасибо!
[22:02] <codepo8> затем перейдите на https://developer.mozilla.org/en-US/docs/JavaScript и узнайте, как и почему это происходит. Невероятный ресурс, поддерживаемый трудолюбивым штатом экспертов, которые должны спать прямо сейчас.
[22:02] <Ara> и под свободой я имею в виду «рад». 🙂
[22:02] <JC> У меня вопрос: если кто-то знает jQuery и базовый синтаксис Js, каков лучший способ узнать Javascript на профессиональном уровне?
[22:02] <codepo8> также http://www.webplatform.org/ — это новое и готовое универсальное решение для кураторского веб-контента, а не слухи о том, что вы получаете в w3schools или stackoverflow.
[22:02] <Velochicdunord> Я второй вопрос JC.
[22:03] <codepo8> И, конечно, точка сайта 🙂
[22:03] <Ara> ralphm: Думаю, мне нужно написать сообщение в блоге об отладке. 🙂
[22:03] <codepo8> @JC покопаться в источнике некоторых библиотек и инструментов. Adobe’s Brackets — очень горячий и удивительно хорошо проработанный проект http://brackets.io/
[22:04] <Ara> JC: откройте исходный код jQuery и посмотрите, что они делают. Это даст вам много понимания про-уровня. Аналогично со многими проектами на GitHub. Кроме того, в свободное время попробуйте написать самые сумасшедшие вещи, о которых вы только можете подумать.
[22:04] <ralphm> @Ara Это было бы здорово. 🙂
[22:04] <Ara> Velochicdunord ^^
[22:04] <Barney> ПРОСТО JAVASCRIPT КЕВИН ЯНК И КАМЕРОН АДАМС Я только что закончил — хорошая книга, спасибо SitePoint
[22:04] <Ara> Барни +1
[22:04] <codepo8> первый раз, когда я вижу ПРОСТО кричать
[22:04] <Velochicdunord> после беспорядка библиотек на GitHub
[22:04] <HAWK> Хе-хе, рад быть полезным Барни
[22:05] <HAWK> Добро пожаловать, Никки — не стесняйтесь задавать вопросы (если они есть) в любое время
[22:05] <Ara> Velochicdunord & JC: Вы, вероятно, лучше следите за более популярными проектами с открытым исходным кодом, поскольку у них гораздо больше внимания к коду.
[22:05] <Barney> нет проблем, HAWK — у меня есть около 20 книг от вас, ребята, и я сделал 5 занятий — я хвастаюсь siteP и Lean … все время
[22:05] <Velochicdunord> Есть какие-нибудь предложения для открытого исходного кода?
[22:05] <Ara> Это замечательная вещь в проектах с открытым исходным кодом, вы не можете избавиться от мусора — по крайней мере, если ваш код достаточно популярен, чтобы на него смотрели многие люди. 🙂
[22:05] <Барни> … бодрится месяц! »* Улыбается *
[22:06] <Барни> Книга WP — отличные руководства с открытым исходным кодом …
[22:06] <codepo8> да, открытость означает, что ваши успехи и неудачи говорят за вас
[22:06] <Velochicdunord> Есть несколько. 🙂
[22:06] <HAWK> Ах, Capt_Snickle_Fritz — рад снова тебя видеть
[22:07] <Ara> Velochicdunord: jQuery ( https://github.com/jquery/jquery), YUI ( https://github.com/yui/yui3), Backbone ( https://github.com/ documentcloud / backbone), Underscore ( https://github.com/documentcloud/underscore)
[22:07] <Velochicdunord> Thx
[22:07] <Capt_Snickle_Fritz> Аналогично HAWK
[22:07] <Барни> Вэл, у тебя есть книги по антологии?
[22:08] <Ara> Полагаю, «подойди ко мне, братан!» — это не лучший способ задать людям больше вопросов, а? 😉
[22:08] <HAWK> Хе-хе, люблю это, Ара
[22:08] <HAWK> Но да — если у кого-то есть вопросы, прыгайте сейчас, пока есть место!
[22:08] <Ara> Это весело.
[22:08] <HAWK> Ты им владеешь. Хорошо сделано.
[22:09] <Ara> Спасибо гостям. Отличные вопросы, ребята.
[22:09] <codepo8> почему следующая строка не является ошибкой JavaScript:
[22:09] <codepo8> http://vanillawebdiet.com
[22:09] <HAWK> Привет тем из вас, кто только что присоединился — присоединяйтесь в любое время, если у вас есть вопрос. Вы можете проверить полную стенограмму позже сегодня на SitePoint.
[22:09] <Ara> codepo8: хитрый вопрос, потому что в нем нет JavaScript. 😉
[22:09] <codepo8> нет
[22:10] <HAWK> Вы также можете проверить книгу Ары здесь https://learnable.com/books/jsjavascript1
[22:10] <codepo8> попробуй в скрипте, ошибка не выдается
[22:10] <Ara> codepo8: Интересно, если клиент IRC отфильтровал код, потому что все, что я видел, было URL vanillawebdiet.com
[22:10] <Ara> Может быть, вставить его в jsfiddle?
[22:10] <Velochicdunord> Нет — WP Новичка для ниндзя было немного разочарованием — недостаточно вещества. После этого остановили покупку дополнительных книг SitePoint.
[22:11] <HAWK> IRC-клиент не должен этого делать — он должен вставить это как суть
[22:11] <ralphm> Хорошо, я мог бы также спросить. Неважно, что я читаю (книги и онлайн), я не могу найти простой, концептуальный ответ, что такое «прототип». Например, Array.prototype. Может ли кто-нибудь предложить объяснение в горшке?
[22:11] <Ara> Velochicdunord: вы всегда можете прочитать первую главу о Jump Start JavaScript здесь, если хотите получить предварительный просмотр: https://learnable.com/books/jsjavascript1/online/ch01.html
[22:11] <Velochicdunord> Второй вопрос Ральфа!
[22:11] <codepo8> https://jsfiddle.net/jp5PZ/
[22:11] <Velochicdunord> Спасибо, Ара.
[22:13] <HAWK> Я просто собираюсь рассказать, что если вы хотите получать напоминания о будущих сессиях, подобных этой, подпишитесь на список рассылки здесь http://www.facebook.com/sitepoint/ app_115462065200508
[22:13] <codepo8> эта статья очень хороша для прототипа: http://dailyjs.com/2012/05/21/js101-prototype/
[22:14] <ralphm> Спасибо, codepo8. Проверим это.
[22:14] <Ara> ralphm & Velochicdunord: Итак, модель наследования JavaScript является прототипом. В основном это означает, что все объекты и объекты наследуются от объектов, поэтому, когда вы наследуете от объекта, вы наследуете его объект-прототип. (Черт, я думаю, что это не было ясно)
[22:14] <Velochicdunord> Нет, это хорошо.
[22:14] <HAWK> Привет, Джесс
[22:14] <JC> Спасибо за ваши ответы
[22:15] <codepo8> Ара, что касается моей ошибки — заполнитель пауз — такой URL в JS на самом деле является меткой JavaScript, сопровождаемой комментарием, следовательно, нет синтаксической ошибки. Этикетки больше не используются.
[22:15] <scruggs> Вы бы классифицировали это как ограничение самого языка JS? В конце концов, только недавно такие инструменты, как jQuery и Node.js, снова стали популярными в сообществе JS.
[22:15] <jessirwin> Привет, ястреб
[22:15] <Ara> codepo8: Это странно, потому что в консоли Chrome я получаю следующую ошибку: SyntaxError: Неожиданный токен}
[22:16] <Ara> JC: мое удовольствие!
[22:16] <Ara> scruggs: я не уверен, что следую. Что будет классифицировано как потенциальное ограничение? (Прототипы?)
[22:17] <Ramy> HAWK — хорошее напоминание о почте, но мне бы хотелось, чтобы кроме Facebook было еще одно напоминание, например, событие
[22:17] <codepo8> проклинаю разные аудитории, скажу я. jQuery значительно снизил барьер и сосредоточен на доступе к DOM и создании элементов интерфейса, таких как виджеты. Это сделало чертовски легким доступ к вещам и изменениям в документе. Node получил новую аудиторию, поскольку он перенес JS на сервер и сделал его беспрепятственным для DOM. Однако основным стимулом для JS стали HTML5 и Flas.
[22:17] <codepo8> был менее надежным, так как не поддерживался на самых горячих и новейших устройствах (iOS)
[22:17] <HAWK> Очень хорошо, Рами, я могу полностью опубликовать их как события.
[22:18] <Барни> Спасибо, что разрешили мне присоединиться, увидимся на обратной стороне …
[22:18] <Ara> Ура, Барни!
[22:19] <codepo8> неожиданный токен из оболочки jsfiddle.
[22:19] <NickY> Есть хорошие книги, посвященные использованию JavaScript для игр?
[22:19] <Ara> codepo8: Я не получил ошибку в jsfiddle, я получил ее прямо в консоли Chrome.
[22:19] <scruggs> хорошо … может быть, это не ограничение. Я думаю, я все еще пытаюсь перейти на сторону JS… наследование от того, что я видел, было болезненным во многих приложениях JS. Например, прыгая в фреймворки, такие как Knockout.js и Backbone.js … кажется, что настоящий трюк — это изучение фреймворков и их ограничений, а что нет
[22:21] <codepo8> если вы хотите придерживаться образа мышления на основе классов с полным наследованием и мутацией, а все остальное, вероятно, будет хорошей идеей придерживаться фреймворков, подобных тем, которые вы упомянули. Вскоре JavaScript не изменится надежно во всем программном обеспечении, которое его понимает, поэтому попытки «изменить JavaScript таким образом, чтобы он больше походил на язык»
[22:21] <codepo8> uage $ x »довольно бесполезны.
[22:22] <codepo8> Тем не менее, TypeScript и Dart позволяют вам делать это и конвертировать в JavaScript для вас.
[22:22] <NickY> Я согласен с тобой, Скрагс. Вы должны изучить основы. Вы можете создавать приложения, используя jquery, практически не зная самого js
[22:22] <Ara> scruggs: Чаще всего вам не нужно знать наследование, чтобы делать мощные вещи в JavaScript. Но знание этого может помочь вам перевести ваш код на другой уровень. Тем не менее, это не всегда необходимо. Хотя вы правы в том, что в сфере фреймворков больше важно знать их API / синтаксис, чем знать JavaScript, потому что вы работаете
[22:22] В этот момент <Ara> на совершенно другом уровне. Вы как бы абстрагированы от основных моментов языка и работаете с API фреймворка.
[22:23] <codepo8> Конечно, NickY за счет того, что зависит от фреймворка. Если вы отправитесь в город с документом с большим количеством jQuery, который не заботится о кэшировании и повторном использовании того, к чему он обращается, вы будете очень разочарованы, если хотите отправить свое приложение на мобильные устройства.
[22:24] <codepo8> (отказ от ответственности: сейчас я работаю с устройствами FirefoxOS — смартфонами с низкой спецификацией для нового рынка, поэтому каждый обработчик событий и каждый доступ к DOM вредят) 🙂
[22:25] <Ara> scruggs & NickY: независимо от библиотеки или фреймворка, вам все равно нужно иметь базовые знания о переменных, типах переменных, логических операторах, массивах, объектах, функциях… вам все еще нужно работать с этими вещи. jQuery дает вам помощников для доступа к элементам DOM и итерации по объектам, а Backbone позволяет вам делать отличные вещи MVC, но
[22:25] <Ara> В конце концов, вы все еще пишете JavaScript, передаете значения и манипулируете ими. Так что вам все еще нужно знать JS.
[22:25] <HAWK> 5 минут до людей. Если вы новичок в JavaScript и беспокоитесь о том, чтобы звучать глупо, но у вас есть вопрос, пожалуйста, задавайте.
[22:25] <HAWK> Нет такой вещи, как глупый вопрос, когда вы учитесь
[22:25] <Ara> Нет такой вещи, как глупый вопрос 🙂
[22:26] <Ara> HAWK * бум! *
[22:26] <HAWK> действительно, хе-хе
[22:26] <BluePandaStudios> codepo8 / Ara: Я опоздал к разговору, поэтому я прошу прощения, если это было покрыто, но есть ли рамки, которые вы бы порекомендовали принять во внимание мобильный доступ?
[22:26] <NickY> Это хороший момент, но в jquery есть много функций, которые вам даже не нужно знать,
[22:27] <johnlacey> @HAWK Я почти уверен, что сегодня я разозлил техно-богов … но я нахожусь на странице Facebook для уведомлений по электронной почте для разговора с экспертами … и должна ли быть кнопка, которую нужно нажать после того, как я войду Детали? Потому что нет. лол
[22:27] <codemaestro> О да. Сколько пользователей на самом деле используют ExtJS / Sencha Touch против jQuery Mobile?
[22:27] <scruggs> ara … Я думаю, что самое сложное — это попытаться узнать, как язык взаимодействует иногда, смеется. По профессии я программист на C #, но я пытаюсь прочно закрепиться в сообществе JS, поэтому я стараюсь узнать все, что могу, о knockout.js, backbone, и пытаюсь создавать вещи с помощью node.js.
[22:27] <Ara> BluePandaStudios: от всей души я знаю, что в jQuery есть мобильный компонент, а в YUI есть встроенный мобильный (а также модули, которые вы можете использовать для мобильных устройств, например сенсорное управление)
[22:28] <BluePandaStudios> Кроме того, есть ли у вас какие-либо отзывы о библиотеках, которые, по вашему мнению, «должны быть проверены» (кроме jQuery…)?
[22:28] <NickY> возьмите, например, $ (element) .is (‘: hidden’) — нет необходимости понимать какие-либо основные принципы js, jquery сделает все за вас
[22:29] <NickY> я люблю jquery, но иногда я думаю, что это делает нас ленивыми.
[22:29] <Ara> scruggs: Я думаю, это здорово, что ты изучаешь эти основы. Но я думаю, что вам было бы неплохо потратить некоторое время на изучение нативного JavaScript, просто чтобы лучше понять, как JS справляется с такими вещами, как свободная типизация и приведение типов или определение переменных. Эти вещи становятся важными, поскольку ваши программы становятся более сложными.
[22:29] <HAWK> О, Джонласи, ты сломал это.
[22:29] <codepo8> BluePandaStudios сенсорный сенсор хорош, jQuery mobile нуждается в доработке, Zepto.js очень легкий (на данный момент). Многое зависит от того, что вы делаете. Иногда вам нужно только что-то вроде hammer.js (это делает взаимодействие с сенсором простым)
[22:29] <HAWK> Хорошо, у меня — извините! Исправляю сейчас.
[22:29] <johnlacey> @HAWK — Так может показаться. лол
[22:30] <scruggs> Ара: Я обязательно вернусь к основам JS снова. В прошлый раз, когда я использовал нативный JavaScript, попытка пройти DOM была болезненным опытом! 🙂
[22:31] <Ara> NickY: jQuery определенно удобнее, чем писать каждый раз, что он делает под рукой. Тем не менее, понимание того, что он делает, может быть полезным. Особенно, если вы собираетесь кодировать веб-приложения, которые делают много работы на клиенте, но не обязательно на уровне DOM.
[22:31] <HAWK> Возвращайтесь через час, Джонни — я разберу это сразу после этой сессии
[22:31] <codepo8> NickY Я бы сказал, что если вы не знаете, когда какой-то элемент вашего YUI скрыт, и вам нужно попросить браузер сообщить вам об этом (что означает, что ему нужен доступ к DOM и попробуйте) тогда вы не спланировали свой интерфейс правильно. Браузер предназначен для отображения, а не для сохранения логики отображения.
[22:31] <scruggs> Существуют ли какие-нибудь изящные шаблоны JS?
[22:31] <Ara> NickY: Например, если вы хотите написать электронную таблицу на основе JS, например, в Google Docs. Я уверен, что за кулисами происходит множество небиблиотечных действий JavaScript. Когда приходит время рендеринга, они, вероятно, используют фреймворк.
[22:32] <HAWK> Вау — время пролетело. Нам нужно начать оборачиваться, чтобы я мог освободить Ару
[22:32] <codepo8> scruggs, вы удивитесь, сколько раз вам не нужно проходить через DOM, если вы добавляете класс CSS в родительский элемент и сохраняете эту логику в своем CSS.
[22:32] <HAWK> Я не буду больше задавать новые вопросы, но я не буду закрывать комнату, так что вы можете свободно болтать и болтать сколько угодно
[22:32] <codepo8> scrugs yes — mustache.js и handlebars.js
[22:32] <johnlacey> Спасибо @Ara @Hawk
[22:32] <HAWK> Не забудьте проверить новую книгу Ары https://learnable.com/books/jsjavascript1
[22:33] <Ara> scruggs: Определенно. У вас есть Mustache JS ( https://github.com/janl/mustache.js/), Handlebars JS ( http://handlebarsjs.com/), и даже у Underscore есть система шаблонов ( http://underscorejs.org / # шаблон)
[22:33] <HAWK> И в то же время на следующей неделе мы проводим сессию CSS с исправлением кода с Алексом Уокером.
[22:33] <codemaestro> Это был настоящий опыт с СДВГ.
[22:33] <Ara> scrugs: чуть выше моей головы
[22:33] <Ara> codemaestro: расскажи мне об этом! : D
[22:33] <NickY> Я согласен, я думаю, все, что я действительно хотел сказать, — это то, что я считаю, что все должны хорошо понять js, прежде чем обращаться к библиотекам.
[22:33] <Ara> Надеюсь, я никого не пропустил. Пожалуйста, повторите их, если я сделал.
[22:34] <codemaestro> NickY или зайди в библиотеки с желанием найти основные поведения
[22:34] <HAWK> Я хочу сказать огромное спасибо Ара — ты сегодня был абсолютной легендой, занимаясь одними запасами
[22:34] <codemaestro> У меня была проблема с $ (elem) .text (”), который не давал одинаковый результат в двух разных точечных версиях Chrome.
[22:34] <Ara> Ник: Я согласен. Хотя за прошедшие годы мой хардкорный инженер немного уступил мне во мне деловому парню, который говорит, что иногда, чтобы выполнить работу, вы можете просто пойти по пути, когда вам не нужно знать все. (Тссс, не говори никому, что я это сказал.);)
[22:34] <HAWK> Очень ценится
[22:34] <codemaestro> @ara LOL
[22:34] <Ara> HAWK: Ты слишком добрый. 🙂
[22:35] <NickY> Ара лол, да, я дошел до этого. Я обвиняю фрилансеров 🙂
[22:35] <BluePandaStudios> HAWK, спасибо за беседу, отличное время!
[22:36] <scruggs> Спасибо. Я рад предложениям и побуждаю продолжать изучать основы JS и технологии, которые его включают!
[22:36] <Ara> codemaestro: Да, я не уверен, что text () использует под капотом, но может быть так, что они не учитывают изменения от одного выпуска Chrome к другому.
[22:36] <NickY> HAWK — есть ли способ получать оповещения, не заходя в Facebook?
[22:36] <Ara> codemaestro: Я знаю, что между IE и остальными браузерами есть различия, когда речь идет о innerText и textContent, так что это может быть что-то подобное.
[22:37] <HAWK> Ник не в данный момент, но вам не нужно иметь учетную запись Facebook, чтобы использовать эту форму
[22:37] <NickY> О, хорошо, сладкий, тогда я сделаю это
[22:37] <codemaestro> правда. в конце концов я обнаружил в пробе / ошибке / много гуглинг, что элементу нужно свойство hasLayout или что-то для установки.
[22:38] <NickY>, спасибо Аре, Ястребу и всем остальным. Это было весело
[22:38] <codemaestro> У меня есть еще несколько названий библиотек, когда у меня будет время.
[22:39] <Ara> codemaestro Ааа .. легендарный hasLayout;)