Статьи

Подкаст SitePoint # 166: Разработка интерфейса с Мэйсоном Стюартом

Эпизод 166 подкаста SitePoint теперь доступен! На этой неделе Кевин Дис ( @kevindees ) берет интервью у Мэйсона Стюарта ( @masondesu ) из Zaarly и обсуждает с ними такие, как SASS Less , jQuery и многие другие части мира разработки интерфейса.

Скачать этот эпизод

Вы можете скачать этот эпизод в виде отдельного файла MP3. Вот ссылка:

  • Подкаст SitePoint # 166: Разработка интерфейса с Мэйсоном Стюартом (MP3, 33:16, 32,0 МБ)

Резюме Эпизода

Кевин и Мейсон обсуждают, как все фреймворки и языки предлагают разработчику переднего плана множество способов работы в Интернете.

Просмотрите полный список ссылок, указанных в шоу, по адресу http://delicious.com/sitepointpodcast/166 .

Стенограмма интервью

Кевин: Добро пожаловать в подкаст SitePoint. Я Кевин Ди, и сегодня ко мне присоединился Мейсон Стюарт из Зарли, и здесь, в Коворке, добро пожаловать на шоу.

Мейсон: Эй. Как это работает?

Кевин: Все идет хорошо. Как прошел твой день?

Мейсон: Ну, пока неплохо, просто покажи код.

Кевин: Очень мило, так что мы на записи Cowork в физическом месте, это не интервью Skype. Сегодня мы поговорим о Javascript, Backbone.js, jQuery, о том, как работает множество фреймов. Я знаю, что мы немного поговорили о Backbone в прошлых интервью здесь, на наборе баллов сайта, и это было действительно очень хорошее интервью. Иди послушай, если у тебя есть шанс, я верю, что это похоже на эпизод один сорок с чем-то. Итак, у вас есть опыт работы с JQuery и Backbone и много крутых инструментов, поэтому я хочу дать вам возможность ответить на несколько вопросов, которые, я думаю, аудитория найдет очень полезными. Но прежде чем мы сделаем это, я хочу, чтобы вы рассказали мне о себе и, возможно, о тех, кто слушает, чтобы мы могли понять, в чем заключается ваш опыт.

Мейсон: Да, так, эй, меня зовут Мейсон Стюарт. Я обычно проезжаю мимо монокуля Мейсона Десу, и всегда один и тот же маленький зеленый аватар с парнем с бородой, это я. В любом случае, да, я пишу код для Зарли. Я Javascripter полный рабочий день. Я, вероятно, пишу десять строк Ruby в месяц, несмотря на то, что мы — рубиновый магазин, мы также делаем огромное количество Javascript, и поэтому я провожу большую часть своего времени в Backbone js. Мы делаем все в coffeescript. Я трачу много времени на архитектурную работу для экосистемы Zarlee Javascript. Я провожу много времени, занимаясь нашим моделированием, тем, как мы моделируем наши данные во внешнем интерфейсе, как мы отображаем это через представления, логику контроллера и все такое. Но я определенно делаю свою долю манипуляций с DOM с помощью jQuery и тому подобного. Это определенно немного больше компьютерных вещей, чем я делал раньше. Мы много думаем о классах и более широкой архитектуре изображений.

Кевин: Ты упомянул Зарли и работал там, но что это за Зарли?

Мейсон: Зарли, есть много разных способов описать, кем был Зарли. По сути, это гипер-местный рынок, и что это означает на простом английском языке, что у нас есть платформа, на которой вы можете сказать что-то вроде «эй, мне нужен кто-то, чтобы доставить три десятка кексов на эту офисную вечеринку, которую мы проводим, и мы Мне бы хотелось, чтобы они были домашними и, вы знаете, шоколадной крошкой с арахисовым маслом », что угодно. Затем он рассылает push-уведомления всем вокруг, и вы можете сделать это для любого вида услуг или вещей, которые вам нужны. Я попросил кого-нибудь помочь мне перевезти пиломатериалы на Зарли, потому что моя машина недостаточно велика, чтобы ее передвигать. Так что я просто попал на Zarlee, сказал: «Мне нужно это в это время», и я выпустил уведомление, и появился действительно классный чувак, который помог мне разгрузить все виды вещей. Мы также придумали несколько действительно классных инструментов для продавцов, чтобы сделать это проще для продавцов. Таким образом, вы можете сказать, как «эй, я художник, я могу перекрасить ваш экстерьер вашего дома за X долларов», и это то, что они могут почти продать. Это услуга, которую они предлагают многим людям стихи просто разовая вещь. Это действительно забавная платформа, над ней очень весело работать.

Кевин: Правильно, и большинство ваших взаимодействий на стороне всех клиентов, потому что вы используете Backbone, так что это очень быстро, очень гладко?

Мейсон: Да, и то, что мы делаем, у нас, очевидно, очень сложное моделирование для всего этого в бэк-энде. Backbone позволяет нам копировать части тех моделей, которые нам нужны. Таким образом, вы можете свернуть свою пользовательскую модель или модель для списка, и список может иметь всю свою метаинформацию, цену, местоположение, кто ее запрашивал, а также время и тому подобное. У нас есть действительно богатая экосистема информации и куски данных локально на клиенте, и Backbone воплощает эту мечту в реальность.

Кевин: Довольно круто, так что начните с того, с чего вы начали, потому что история каждого человека, которую я когда-либо слышал, всегда содержит некоторые интересные детали того, как они попали в сеть, потому что она такая молодая и такой новый, такой захватывающий и быстро меняющийся. Мне было интересно, не могли бы вы рассказать нам немного о том, как вы попали в интерфейс внутри разработки. Ты ходил в школу?
Что это был за процесс?

Мейсон: Да, мне 28 лет, и я думаю, когда мне было 14 или 15 лет, я начал писать HTML.

Кевин: Итак, у него есть 14-летний опыт работы на данный момент.

Мейсон: Ну, вроде как.

Кевин: Если считать те первые годы, верно?

Мейсон: Если ты считаешь, используя метку моргания в качестве опыта.

Кевин: Это опыт, я включил его в свое резюме.

Мейсон: Да, я использовал мигающий тэг пламени и тэг Marquee. Итак, я начал делать HTML и делать как Python-скриптинг и Pearl-скриптинг еще в те времена, когда у нас были подобные CGI-контейнеры.

Кевин: Да, ничего страшного. Мне 14 лет, я пишу этот потрясающий код.

Мейсон: Настоящие придурки. Любил компьютеры, получал массу удовольствия, имел отличную работу, но в основном, когда мне было около 20, я чувствовал, что больше не хочу пользоваться компьютером. Я закончил сидеть за экраном, так что я просто очень холодная индейка около 5 лет, не написал ни одной строки кода.

Кевин: Совсем нет?

Мейсон: Я переехал в Японию, тусовался, работал в приюте, много чего делал, а потом вернулся и понял, что знаешь, я мог бы написать небольшой код. Я наткнулся на небольшой код написания работы в этом магазине. По-настоящему крошечный магазин, и вроде как за пять выходных он снова увлекся 5-летней веб-разработкой. Оттуда я как бы заскочил после того, как jQuery был в полном разгаре, после того, как CSS был повсюду. Когда я ушел, CSS был просто мерцанием в глазах каждого. Потом, когда я вернусь, это везде. Это было действительно классное время. Я чувствовал, что это было крутое время, чтобы начать заниматься веб-разработкой. Теперь я смотрю на ресурсы, которые у нас есть сейчас, и я просто черт возьми. Это буквально лучшее время для всех. Я оглядываюсь назад на то, что мы делали 10 лет назад, и я, как вы знаете, было ужасно, что мы должны пытаться справиться со столами и прочим. Теперь веб-разработка — это невероятный опыт.

Кевин: Да, конечно, очень приятно видеть все эти инструменты, о которых вы упомянули, и Backbone — один из них, jQuery — другой. Некоторые из вопросов, которые будут задавать люди, таковы: я только начинаю, как вы, и теперь, когда все эти инструменты доступны, я должен сначала обратиться к нему с языка или сначала перейти к фреймворку и просто изучить язык от этого. Что бы вы посоветовали кому-то в этой ситуации? Должны ли они пойти на Javascript элементарные основы? Очевидно, что вы должны понимать циклы и операторы и тому подобное, но вам нравится изучать Javascript, как читать DOM, или вам стоит заняться jQuery или Backbone, если вы делаете приложение? Что вы должны сделать?

Мейсон: Для людей, которые только изучают Javascript или даже просто приходят в разработку, это своего рода дикий мир, потому что теперь у нас есть все эти диалекты, я думаю, из которых я опишу, это действительно больше похоже на языки, которые компилируют Javascript. Если бы вы начинали разработку с самого начала, вы бы не знали, стоит ли мне делать Javascript с закрывающим скриптом, или я должен использовать coffeescript, или coffeescript со льдом, или.

Кевин: Что это за вещи, которые вы только что упомянули, эти три?

Мейсон: Все эти языки являются языками, которые компилируются в Javascript.

Кевин: Точно. Вроде как PHP будет компилироваться в HTML. В каком-то смысле они препроцессоры, верно?

Мейсон: Да, ну, я уверен, что есть какой-то термин «компьютерная наука», где говорится, что они делают. По сути, coffeescript — это язык, который будет генерировать Javascript. И у coffeescript есть немного синтаксического сахара и некоторые вещи, которые действительно делают его интересным для написания. Вам не нужно иметь дело с полуколоннами и множеством фигурных скобок. Coffeescript очень мощный. Так что, да, это отличный инструмент, но если начать, я бы сказал, что если вы не получите Javascript, вы в конечном итоге тоже не получите coffeescript. В языке есть некоторые базовые вещи, от которых вы не сможете убежать, независимо от того, насколько вы это абстрагируете. Я думаю, что на самом деле, если бы мне пришлось сказать, о, ты собираешься начать с Javascript, с Javascript ты ничего не знаешь. Я бы сказал, что есть книга «Eloquent Javascript», которую вы можете прочитать бесплатно в Интернете.

Это невероятно. У него есть такой подход, который говорит, что давайте посмотрим на Javascript как на информатику. Потому что многие люди делают ошибку, думая, что Javascript — это просто набор движущихся DOM, и, если вы действительно новичок в разработке, DOM — это, в основном, объектная модель документа, занудная аббревиатура. Но это в основном означает весь ваш HTML. Итак, если у вас есть красная коробка справа и вы перемещаете ее влево, вы можете использовать Javascript и сказать, когда я нажимаю эту вещь, переместите ее сюда. Это важная вещь, которую может сделать Javascript, это взаимодействие и перемещение HTML и CSS вокруг и рендеринг HTML и CSS, но это в конечном счете очень малая часть Javascript. Я думаю, что начинать с чего-то вроде Eloquent Javascript, который фокусируется на самом языке и на самом деле не попадает в DOM, пока, как глава 10, я думаю, последняя глава не станет действительно хорошим местом для начала.

Тогда я думаю, вы знаете, что нет ничего плохого в том, чтобы возиться с jQuery или любой другой библиотекой или фреймворком. JQuery — невероятно мощный набор инструментов и чрезвычайно полезный. Вам не нужно знать каждую мелочь Javascript, чтобы использовать jQuery. В конечном итоге, если вы никогда не будете делать ничего, кроме копирования и вставки jQuery с сайтов других людей, я не думаю, что вы поймете всю мощь Javascript. Я не думаю, что вы сможете справиться с проблемами реального мира. Я думаю, что это своего рода смесь обоих. Вкрапление, на самом деле обучение себя языку, с выполнением некоторых вещей, которые довольно сильно абстрагируют, например, jQuery или coffeescript, это мое мнение по крайней мере.

Кевин: Точно. Чтобы продвинуть ваше мнение об этой теме. Всякий раз, когда я подхожу к ситуации, я склоняюсь к тому, чтобы советовать дизайнерам, что да, возможно, можно просто использовать плагины и немного поработать с jQuery, и все будет в порядке. Так что, если вы похожи на Марко, вы точно не знаете о коде, ну, вы знаете достаточно о коде, чтобы быть опасным, но не знаете, вы не инженер. И есть разница. Я думаю, что в наши дни проводится грань между двумя разными типами разработчиков. У вас есть дизайнер внешнего интерфейса, который в основном взаимодействует с дизайном, с CSS и, возможно, с некоторым эффектом jQuery, и у вас есть инженер внешнего интерфейса, который может делать все эти вещи, а также моделировать и просматривать, и вам нравится абстрагироваться так, как вы говорите и делать больше с Javascript, чем просто манипулирование DOM.

Мейсон: Да, я тоже так думаю, извините за Марко, Марко Суарес, мы любим тебя.

Кевин: Ты должен вызвать его.

Мейсон: Марко действительно знает, как кодировать. На самом деле он пишет довольно неплохой код сделки для Zarlee, но он один из наших дизайнеров, и мы иногда выбираем его. Но он хороший кодер. Марко отличный пример. Марко — невероятный дизайнер, он очень хорошо разбирается в HTML и CSS и, конечно же, умеет делать вещи в jQuery. Марко сядет и напишет как эпический контроллер Backbone, нет, но это нормально.

Кевин: Это когда тебе даже не нужно знать, что это значит.

Мейсон: Да, это определенно хорошее различие, и оно действительно зависит от того, где ты хочешь что-то взять. Если вы тот человек, который любит разбирать часы, смотреть на все механизмы и видеть, как все работает, то вы, вероятно, тот человек, который захочет создать сильные плагины jQuery. Если вы тот человек, который действительно любит внешний вид часов и их гладкость, а также то, как они движутся и тому подобное, то вы все равно можете быть хорошим Javascripter, но вы можете быть тем человеком, который гораздо больше заинтересованы в том, чтобы пользовательский интерфейс работал правильно. Есть место для того, чтобы исследовать оба из них. Я думаю, что только в прошлом году я действительно глубоко погрузился в стихи по Javascript Architecting, создав много HTML и CSS с некоторыми забавными вещами Javascript, но это были не те вещи, которые проверяли данные и отправляли их на сервер. и разбор ответа.

Кевин: Очень утилитарный. Да, в основном только эффекты и тому подобное.

Мейсон: Да. Из-за — в Zarlee мне по необходимости пришлось гораздо глубже проникнуть во внутреннюю работу экосистемы Javascript, но пока это было очень весело.

Кевин: Итак, чтобы подвести итог, очень быстро, дизайнер, вы можете начать с jQuery, верно?

Мейсон: Угу.

Кевин: А потом, если вы хотите пойти дальше, тогда вам, вероятно, нужно начать с Javascript.

Мейсон: Да, я думаю, что это отличные места для начала, и любое из них в конечном итоге будет пересекаться. Если вы даете это больше, чем пару дней. Я обнаружил, что для любой новой вещи я действительно хочу узнать о трех неделях постоянной работы над ней, если я смогу пройти трехнедельную отметку, я, вероятно, буду придерживаться этого. Таким образом, придерживаясь Javascript, даже если он кажется запутанным, и придерживаясь jQuery, даже если вы не знаете, что делаете, вы в конечном итоге справитесь.

Кевин: Да, речь идет о том, чтобы поставить педаль в металл, не хватая газа, чтобы быстро направиться.

Мейсон: Да.

Кевин: Вы хотите иметь немного баланса там. Теперь, вы были сосредоточены на jQuery и просто на базовом Javascript, и вроде того, что-то вроде поощрительной стороны, которую вы получаете и пробуете, потому что это весело? Очень интересно использовать этот материал, чтобы увидеть, как меняется ваша страница. Я склонен делать это все время. Я должен признать, что сделаю небольшой сладкий эффект, используя jQuery, и возьму эту кнопку примерно 50 раз, как только вы начнете выходить, вы понимаете, о чем я.

Мейсон: Точно.

Кевин: Есть такая сторона вознаграждения, а есть другая сторона, где я использовал эту структуру, и я ее узнал. Я познакомился с Javascript. Какой следующий уровень? Затем вы начинаете сталкиваться с такими вещами, как создание шаблонов, верно, для использования Backbone, если хотите. Итак, у вас есть такие как Mustache и Underscore, и у вас есть такие вещи, как Ember, что является еще одной вещью, основанной на NVC. Тогда у вас есть Backbone, и у вас есть Twitter Bootstrap, который больше похож на дизайн. Там есть несколько элементов Javascript. Все эти маленькие каркасные работы — вот что я получаю. Чем ты занимаешься? Это не просто jQuery. Куда вы отправляетесь оттуда? Это проект, основанный на том, как вы решаете, какую платформу использовать?

Мейсон: В основном мое отношение — использовать все, что выходит. Дать ему шанс. Это не убьет вас за один веб-сайт или один маленький проект, чтобы просто выбрать несколько случайных инструментов. Вернувшись, когда Пол Айриш выпустил котел с HTML5, он и Дивья, я просто сказал ОК. Я собираюсь создать сайт из этого. У меня было несколько сайтов, чтобы построить и сделал это, и это было здорово. Я люблю это. Я узнал огромное количество из этого проекта. Я создал несколько вещей с помощью Twitter Bootstrap и многому научился. Буду ли я использовать любой из проектов в каждом проекте, который я делаю? Нет. Я не думаю, что Зарли на самом деле использует их сейчас. Но, если бы нам нужно было создать что-то совершенно новое, новый маленький микро-сайт с Зарли, да, это могли бы быть отличные инструменты. На самом деле это просто выстрел. Например, в Zarlee мы используем для наших шаблонов Javascript, мы используем кофе haml, который не очень популярен, и я не знаю почему, потому что это действительно фантастично, это в основном haml со встроенным coffeescript, вместо встроенного ruby, который является очень мощным и просто отличный синтаксис. Но, мы просто пошли на это по прихоти, мы сказали, что это выглядит очень аккуратно, давайте попробуем, и если это отстой, мы вырвем это и сделаем что-то еще. Давайте построим несколько вещей с этим, и мы сделали. Так что действительно лучшее, что я могу порекомендовать, это просто попробовать что-нибудь. Это не убьет вас, если вы попадете в рамки на несколько недель. Это не убьет вас, чтобы возиться с плагином или библиотекой, попробуйте.

Кевин: Точно. Определенно мы прошли дни делать это с нуля. Раньше это было своего рода, когда jQuery все еще находился в зачаточном состоянии. У вас был прототип и все эти другие вещи, но люди все еще как бы катали свои собственные наборы с нуля.

Мейсон: Конечно.

Кевин: Главным образом, чтобы иметь дело с совместимостью браузера. Но мы отошли от тех дней, и мы находимся в каком-то веке или десятилетии фреймворков и фреймворков Javascript в частности. Я бы определенно сказал и согласился с тобой, просто возьми и попробуй, потому что тебе нечего терять. Если вам не нравится это, попробуйте другой. Попробуйте шаблонизировать некоторые фреймворки, Подчеркните Усы, как вы можете выбрать подчеркивание, которое вам не нравится Подчеркните, правильно используйте Усы. Если вам не нравится Backbone, используйте ember.

Мейсон: Точно, да. Вы очень быстро узнаете, подходит ли он для вашей ситуации, или это просто мусор. Просто отбросьте это, особенно потому, что у нас такой модульный подход к веб-дизайну. Если вы создаете что-то с помощью rails, просто включите Gem, и если вам это не нравится, удалите gem, и если вы создаете что-то с Node, принесите его с помощью менеджера пакетов, если вам не нравится, избавьтесь от него. , Очевидно, я не сторонник легкомысленного добавления всего этого барахла в ваш проект. Вам не нужно все, вам не нужно использовать 60 различных шаблонных систем в вашем Javascript, но если вы чувствуете, что можете что-то получить или даже чему-то научиться, определенно попробуйте.

Кевин: Да. Я думаю, что это действительно хороший совет, когда вы говорите об экспериментах. Это своего рода экспериментальное телосложение или фасад о тебе, верно. Вы просто хотите выйти отсюда и поиграть с тестом и посмотреть, что получится.

Мейсон: Конечно.

Кевин: Это немного о каркасных работах, и я хотел бы, чтобы мы могли больше погрузиться в них, но они такие уникальные и такие разные. Это действительно сводится к их использованию. Вы действительно много намекали на такие вещи, как coffeescript Sass, и я знаю, что LESS — это еще один, и были некоторые люди, которые были против этого, и я не обязательно хочу делать что-то, что отнимает у них контроль чтобы использовать эти инструменты. В некотором контексте это правда, верно, потому что вы не всегда хотите использовать эти препроцессоры в некоторых случаях, особенно в небольших проектах, таких как плагин для jQuery. Вы не хотите интегрировать кучу фреймворков в плагин, который должен быть небольшим или, как скрипт, которым вы хотите просто поделиться. Откуда эти вещи вступают в игру и являются ли они хорошими или плохими, или это отчасти косвенно?

Мейсон: С Sass, Compass, SCSS я могу с уверенностью сказать, что со временем я смог написать только четыре строки CSS, и я действительно предпочел бы использовать препроцессор Sass для всего, что связано с таблицами стилей, потому что это в конечном итоге CSS. Это CSS просто с отсутствующим материалом. Некоторые вещи, которые действительно сделали бы, сделали наш CSS великолепным пять лет назад. На самом деле, на мой взгляд, до тех пор, пока у вас есть настройка, позволяющая выполнять эту предварительную обработку, независимо от того, выполняете ли вы предварительную обработку локально, а затем отправляете ее на сервер, поскольку она уже обработана в CSS или у вас ». В любом случае, делаю это на лету, я бы определенно сказал «да». Что касается coffeescript, я бы сказал, что порог немного больше. Если вы собираетесь написать 100 строк какого-нибудь действительно простого Javascript, возможно, не стоит беспокоиться о coffeescript. Coffeescript великолепен и отлично подходит даже для нескольких строк, но не усложняйте его. Как будто я перестраиваю свой сайт с закрытием и Noir в качестве фреймворка, и у меня будет только 30 строк Javascript на нем, а не на Closurescript, который является нормальным языком Javascript в этой среде, я наверное просто собираюсь делать обычный Javascript. Мне не нужно быть таким крутым, как Closurescript, я просто не нуждаюсь в такой маленькой ситуации. Итак, на самом деле все это сводится к тому, собираетесь ли вы использовать его и как будет выглядеть процесс разработки, если вы его не используете. Потому что нет ничего постыдного в использовании необработанного HTML или необработанного CSS и необработанного Javascript. В некоторых случаях это предпочтительнее.

Кевин: Большая проблема, о которой я действительно хотел бы поговорить с вами, это интеграция этих препроцессоров в такие вещи, как IE и, например, например, Fire bug, если вы используете Sass или LESS, вы не можете просто проверить им и говорят, что эта строка является кодом и получить это точно. Есть много инструментов, которые были построены вокруг статического плоского файла, и, кроме того, вы должны иметь возможность скомпилировать эти препроцессоры. Итак, вы должны быть в состоянии скомпилировать Sass, LESS скомпилировать Coffeescript, и для тех людей я хочу отметить, что существуют подобные приложения специально для Mac. Я не слишком знаком с аспектами Windows, но вы можете получить такие вещи, как набор кода или я думаю, что есть и другие. Так что не пугайтесь компиляции этого материала, очень просто найти приложение, загрузить его, оно стоит денег. Обычно там около 20 долларов, так что бойтесь этого. Но я хочу больше сосредоточиться на том, как прикладная сторона правой IDE не затрагивает подобные вещи, или вы знаете. Что вы думаете о том, что достаточно большой недостаток, чтобы не использовать эти вещи?

Мейсон: Нет. Честно говоря, я совсем не чувствую боли. Причина в том, что в Zarlee мы используем SCSS, и в режиме разработки я пишу несколько стилей для чего-то, а затем нажимаю «проверить элемент». Я вижу сгенерированный CSS, но если я нажму, в строке 500 файла main.css будет указано, что если я щелкну прямо там, то в комментариях прямо над этим блоком будет показано, откуда именно он пришел в Sass.

Кевин: Это круто.

Мейсон: Для меня это может звучать или даже вводить в заблуждение, но когда ты это видишь, это имеет смысл. Это в основном дает вам очень четкое место, куда можно вернуться. Многие люди действительно начинают смотреть на исходные карты сейчас. Исходные карты позволяют вам при проверке элементов видеть, где это действительно было в исходном предварительно обработанном coffeescript или SCSS или сценарии закрытия. По сути, все, что вы пытаетесь использовать, если вы посмотрите на доступность исходной карты, там могут быть действительно большие ресурсы. Но в конечном счете, я думаю, что это сводится к этому. Если я пишу что-то в coffeescript и получаю сообщение об ошибке в сгенерированном Javascript, это никогда не будет настолько отличным от того, что я написал изначально, и не смогу сказать, где это было. Coffeescript собирается добавить несколько дополнительных кусочков синтаксиса, возможно, он сделает немного магии, чтобы исправить проблемы с областями видимости, но в конечном итоге я все равно буду знать, где он находится. Если вы знакомы с вашим кодом, и вы пишете свой собственный код, а не просто копируете и вставляете несколько плагинов, это будет довольно очевидно, даже если скомпилированный исходный код сильно отличается от вашего предварительно скомпилированного исходного кода.

Кевин: Мне нравится, что этот разговор больше склоняется к Sass, потому что я использовал LESS в прошлом, и чем больше и больше я использую Sass, тем больше и больше я понимаю, почему он немного превосходит LESS. МЕНЬШЕ уместно, не поймите меня неправильно, но больше подходит для небольших проектов. Когда вы используете Sass, как будто вы встраиваете, на самом деле не становитесь классом, который просто пуст в вашей таблице стилей и тому подобное. Из-за этого случается много маленьких кусочков. Как будто вы говорили о компиляции и как комментарии, как и все эти вещи, если бы вы заявили о различиях между LESS и Sass, LESS легче написать и приятно начать с него, но в конце концов вы захотите перейти к Sass I думать.

Мейсон: Да. Я думаю, что это справедливый подход.

Кевин: Так что это своего рода препроцессоры, и я думаю, что у нас нет технических проблем, так что вы определенно можете использовать эти инструменты и не сталкиваться с действительно большими проблемами. Это будет как дополнительный шаг, но не как десять дополнительных шагов и оставит вас в неведении, когда вы используете эти вещи. Лично я думаю, что они просто убирают так много пустяков из вашего кодирования для начала. Как будто вы говорили, что можете просто пойти и посмотреть, знаете ли. Когда вы пишете coffeescript, вы можете написать 50 строк coffeescript, и у вас есть 200 строк Javascript, поэтому проще пройти 50 строк coffeescript, чем 200 строк Javascript. Это хорошо в этом смысле. Но есть и другая проблема с этими препроцессорами. Это во многом связано с разработкой внешнего интерфейса, так как по мере развития событий, я думаю, мы увидим все больше и больше этого, поэтому я действительно хочу коснуться этого. То есть передача этих инструментов в команду, так что, скажем, вы новый парень в блоке, и вы только что вошли в компанию или стартап, как вы, и они используют один инструмент и это просто плоские файлы, и вы, как эй, ребята, мы должны действительно использовать Sass, это поможет нам. Как вы заставляете людей покупать это, потому что когда у вас есть куча людей, каждый должен использовать это, правильно, потому что, если они начнут редактировать ваш скомпилированный CSS, если вы компилируете поверх всего этого, их вещи будут удалены, большие проблемы. Как вы заставляете людей входить в это или это один из тех, где вы просто надеетесь и молитесь, чтобы это уже было, и кто-то другой использовал это.

Мейсон: Нам очень повезло в Zarlee, потому что у всех есть отношение к тому, чтобы использовать лучшее для своей работы, даже если это означает переключение основной технологии на эту другую технологию. Опять же, в пределах разумного, мы не постоянно переключаемся с замыкания на рубин на .net. Мы никогда не переключались на .net извините.

Кевин: Вы могли бы.

Мейсон: Извините с ударом. Но мы не постоянно меняем все, но мы более чем готовы сказать: «эй, этот драгоценный камень отстой, мы собираемся обменять это» или «эй, эта система шаблонов вызывает так много проблем» или «эй, этот jQuery плагин — полная шутка, поэтому мы просто собираемся переписать его сами ». У нас есть, это действительно хорошая культура, но вы не всегда сталкиваетесь с этим, когда работаете в разных командах с людьми. Я думаю, лучшее, что вы можете сделать, это доказательство в пудинге. Вы можете сказать, что люди смотрят, что я так много сделал здесь, в этих 20 строках кофе. underscore.js избавил меня от необходимости писать эти неэффективные глупые методы, которые уже сделали намного лучше, чем я мог. Есть все виды, на самом деле, просто глядя на то, что получается, есть честные времена, когда coffeescript генерирует лучший Javascript, чем я написал бы сам. Я думаю, что это одно, и я думаю, вы знаете, что всегда есть хипстерский фактор того, что популярно, а что нет. Я действительно думаю, что есть действительно конкретные причины, по которым люди используют такие вещи, как underscore.js. Дэвид Нолан из New York Times говорил мне, что они начинают все свои проекты Javascript в New York Times с jQuery и подчеркиванием, и для этого есть причина. Это потому, что оба эти инструмента опробованы и протестированы, и они фантастические. Я не знаю, есть ли какой-то один способ выбрать лучший инструмент, или чтобы все согласились с лучшим инструментом, но я думаю, что это очень полезно, даже если вы не можете использовать его глобально, если вы не можете использовать его в вся группа использует это самостоятельно. Вы можете настроить Sass для запуска локально и просто скомпилировать все локально, затем вы можете просто взять сгенерированный CSS и использовать его. Очевидно, что в конечном итоге это имеет свои проблемы, но есть много небольших инструментов, которые вы можете использовать самостоятельно, и это просто зависит, но, честно говоря, я думаю, что лучше всего это, если вы идете в организацию или группу людей, и они используют куча бозо-инструментов, которые ничего не делают полезного и не желают использовать какую-то классную новую технологию, тогда, вероятно, вам все равно придется пойти куда-нибудь еще. Есть много компаний, которые зацикливаются на очень жестком подходе к своим технологиям, и я думаю, что это очень вредно для качества продуктов, когда вы не хотите сказать, что это было круто два года назад, но сейчас этот инструмент не действительно так здорово на всех.

Кевин: Черт, что JQuery, я ненавижу это.

Мейсон: Ну, на самом деле, нам очень интересно в Zarlee, мы действительно поменяли jQuery на Zepto на несколько месяцев.

Кевин: что?

Мейсон: За исключением IE, очевидно.

Кевин: Это безумие.

Мейсон: Да. Мы только.

Кевин: Но ты это сделал.

Мейсон: Мы сделали это, мы попробовали это. Я уважаю Томаса Фукса и всю команду Zepto, они супер умны, и источник действительно великолепен, и я тоже уважаю чертовски команду jQuery. В конечном итоге мы вернулись по ряду разных причин, но это был отличный эксперимент. Я люблю Zepto и буду использовать его в некоторых других проектах, но в отношении некоторых смягчающих обстоятельств, когда Zarlee поддерживает IE, и всего, что мы в конечном итоге только что сказали, мы возвращаемся в jQuery. Такое отношение, пока оно не полностью вышло из-под контроля, вы знаете, просто протестируйте его и посмотрите. Дать ему шанс.

Кевин: Я думаю, что вы абсолютно правы, доказательство в пудинге. Лучше всего, если, я думаю, если есть какой-то внутренний проект, который действительно маленький, или, может быть, вы собрались вместе, как сайт для прессы слов, который будет довольно простым и понятным, я думаю, что вы, вероятно, можете получить бай-ин на один из этих проектов, возможно, не более крупных, потому что люди с самого начала не любят перемен. Так что я превращаюсь в забавные стихи и делаю это по-своему, так что я думаю, что это тоже может помочь. У нас мало времени. Мы действительно прошли через все хорошие вопросы. Итак, это абсолютно потрясающе. У меня есть несколько вопросов к вам, и затем мы можем закончить.

Мейсон: Конечно.

Кевин: Номер один, как ты вырастил эту удивительную бороду? Это удивительно. Это как Miracle Grow или что-то в этом роде.

Мейсон: Нет, это просто быстро растущая борода.

Кевин: Это быстро растущая борода.

Мейсон: Да.

Кевин: Очень мило. Где люди могут найти вас или они могут связаться с Мейсоном и найти все его удивительные творческие идеи?

Мейсон: Конечно. Лучший способ найти меня, как правило, в Твиттере @masondesu , MA-
СОНДЕСУ, так же, как это звучит. Вы можете зайти на мой сайт по адресу masondesu.com. Я не обновлял его довольно давно, на самом деле, я думаю, что некоторые его части на самом деле довольно сломаны, но есть классная пиксельная арт-версия моего лица с радужной бородой, которую вы можете нажмите на. Просто нажмите на кнопку «Лучшая функция» в левом верхнем углу, и у меня на голове появится радужная борода.

Кевин: Это очень крутой человек.

Мейсон: Это и Твиттер, я думаю, лучшие места, чтобы найти меня.

Кевин: Отлично, так что у тебя есть вдохновение, радужные бороды. Хорошо, хорошо, Мейсон, большое спасибо, что пришли на это шоу. Это было абсолютное удовольствие.

Мейсон: Да, нет проблем.

Кевин: Действительно умный парень, и я думаю, что вы доказали миру, что у вас есть отбивные.

И спасибо за прослушивание подкаста SitePoint. Если у вас есть какие-либо вопросы или мысли о сегодняшнем шоу, пожалуйста, не стесняйтесь связаться. Вы можете найти SitePoint в Твиттере @sitepointdotcom , это сайт dotpoint . Вы можете найти меня в Твиттере @kevindees , и если вы хотите оставить комментарии о сегодняшнем шоу, посмотрите подкаст на sitepoint.com/podcast , вы также можете подписаться на шоу там. Этот эпизод подкаста SitePoint был создан Карном Броудом, и пока я Кевин Дис.

Аудио транскрипция с помощью Speechpad.

Тема музыки Майка Меллы .

Спасибо за прослушивание! Не стесняйтесь сообщить нам, как у нас дела, или продолжить обсуждение, используя поле комментариев ниже.