Статьи

Подкаст SitePoint # 149: Пить капучино с Россом Баучером

Эпизод 149 подкаста SitePoint теперь доступен! рассказать о своей текущей работе над сервисом обработки платежей Stripe, а также о текущем состоянии разработки веб-приложений на JavaScript.

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

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

  • Подкаст SitePoint № 149: Пить капучино с Россом Баучером (MP3, 31:12, 28,6 МБ)

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

Луи и Росс рассказывают о том, как возникла среда Cappuccino, с чем столкнулась команда Stripe, как они справились с этими проблемами и как отладка javascript в браузерах имеет и продолжает развиваться.

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

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

Луи: Здравствуйте и добро пожаловать в еще один эпизод подкаста SitePoint, мой гость на сегодняшнем шоу — Росс Баучер; привет росс

Росс: Привет.

Луи: Росс — веб-разработчик; один из создателей популярной Cappuccino Framework для создания веб-приложений на основе браузера, и в настоящее время он работает в Stripe. Итак, вы хотите немного поговорить о том, над чем вы сейчас работаете, Росс?

Росс: Конечно. Поэтому я работаю в компании Stripe, stripe.com , и мы являемся платежными системами , поэтому мы стараемся максимально упростить процесс регистрации и регистрации на нашем сайте и начать обработку кредитных карт на вашем счету. собственный сайт прямо сейчас. И в конце концов, это похоже на то, что делают многие другие люди, очевидно, вы можете сделать это с PayPal или рядом других компаний, но мы думаем, что наше программное обеспечение и лучше, и легче использовать больше, чем многие из этих других компаний, а также мы придаем большое значение устранению объема ручного труда, что делает интеграцию максимально быстрой и безболезненной, и, как я уже говорил, действительно упрощает регистрацию; Вы можете зайти на наш сайт и заполнить онлайн-форму примерно за две минуты и сразу же начать снимать реальные кредитные карты.

Луи: Точно. Недавно я потратил, ну, я не лично, но другой разработчик в нашей команде провел, я думаю, более или менее в прошлом месяце, пытаясь заставить регулярные платежи работать с PayPal; Я могу сказать, что один день или даже несколько часов работы звучат очень впечатляюще.

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

Луи: Точно. Это всегда интересно для меня; Я говорил с одним из парней из Shopify на подкасте в прошлом году. Для тех из нас, кто разрабатывает веб-приложения, в которых мы могли бы продавать продукты или просто предлагать онлайн-приложения для людей, это похоже на то, чтобы поднять его на другой уровень, когда вы имеете дело с кредитными картами, потому что у вас много проблем, которые могут быть другими разработчикам приложений не нужно сильно волноваться.

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

Луи: Да, абсолютно. Как долго работает Stripe?

Росс: Stripe обрабатывает платежи уже около двух лет, на самом деле, я был первым пользователем Stripe в моей последней компании, но он был общедоступным только четыре месяца, пять месяцев, сентябрь прошлого года.

Луи: Ладно, так что на рынке довольно ново, если кто-то искал платежный шлюз.

Росс: Да, это довольно ново. И мы также, я полагаю, я не упоминал об этом раньше, но Stripe объединяет в себе как традиционные возможности платежного шлюза, так и функции торгового счета, поэтому, когда вы приходите в Stripe, вам не нужно брать с собой отдельный шлюз или торговый счет. Мы просто упаковываем все это в один простой продукт.

Луи: Точно, так что платеж, который вы получаете, например, идет на счет Stripe?

Росс: Когда вам платят с нами, мы держим ваши средства, фактически наш партнер Уэллс Фарго хранит средства на ваше имя, мы никогда не контролируем их.

Луи: Точно.

Росс: И затем мы переводим эти средства вам на любой банковский счет через семь дней, через семь дней после каждого платежа.

Луи: Хорошо. Да, я имею в виду, что это действительно интересно, особенно на рынке, где, как мне кажется, многие люди склонны думать, что крупный игрок, такой как PayPal, является своего рода единственным вариантом, и, учитывая опыт, который большинство людей имели дело с поддержкой PayPal и API, я думаю, что это определенно хорошее место, чтобы немного больше соревноваться.

Росс: Да, мы в восторге от роста и будущих вызовов.

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

Росс: Конечно. Итак, чтобы начать с краткого обзора, Cappuccino, как вы сказали на вступлении, является фреймворком для создания приложений на основе браузера, и под этим мы подразумеваем то, что, как я думаю, теперь стало известно как одностраничные приложения, или некоторые люди называют их веб-приложениями для толстых клиентов, и тому подобное. И идея заключается в том, что приложение, такое как Google Docs или наши собственные 280 Slides, или даже в некоторой степени Google Maps, действительно то, что вы загружаете один раз, и большая часть логики запуска приложения происходит на клиенте и отправляется на сервер. просто чтобы получить новые данные, чтобы воздействовать на эти данные. Таким образом, вся модель приложений, которые, как мне кажется, мы видели, стала по-настоящему популярной за последние два года или около того — это то, для чего действительно создан Cappuccino. И сам Cappuccino был запущен, ну, он начался в нашем студенческом общежитии примерно в 2005 году, но это было какое-то время просто хобби, а затем в 2008 году мы начали работать над ним на полную ставку и создали компанию под названием 280 North, чтобы сделать это. и затем мы выпустили его для публики, как я полагаю, в августе 2008 года. Так что он вышел чуть более трех лет назад.

Луи: Точно. И стоит отметить, что Cappuccino — это программное обеспечение с открытым исходным кодом.

Росс: Да, это открытый исходный код, он на GitHub, он в настоящее время на версии 0.9.5, я думаю, и он лицензирован в соответствии с LGPL.

Луи: Точно. Таким образом, идея, лежащая в основе Cappuccino, была отчасти из того, что я понимаю, чтобы несколько воссоздать опыт разработки нативных приложений на Cocoa и Objective-C для настольных компьютеров Mac —

Росс: Да.

Луи: — внутри браузера.

Росс: Верно. Я думаю, я должен был упомянуть это. Когда мы думали о написании Cappuccino, мы были на самом деле — проблема, которую мы хотели решить, заключалась в том, чтобы создать приложение в веб-браузере, и мы работали над этим некоторое время, и по мере продвижения по каждому проекту мы преодолеть эти препятствия и понять, что на самом деле это действительно сложно, действительно сложно создать такое приложение в браузере. Но трое из нас, кто работал над этим в то время, также имели опыт написания приложений для Mac, и поэтому мы подумали, почему бы нам не попытаться поработать над фреймворком, похожим на Cocoa; Кажется, какао хорошо работает при создании таких сложных приложений. Таким образом, мы начали играть с идеями, которые были смоделированы после Какао, и затем, в конце концов, Франциско, один из моих соучредителей, подумал, почему бы нам просто не попытаться написать Какао. И поэтому он для интереса написал Objective-J, который является языком, на котором написано Cappuccino, это набор расширений JavaScript, которые компилируются на лету в вашем браузере, поэтому мы добавили этот набор языковых расширений, чтобы добавить определенные функции, такие как код импортное и классическое наследование и динамическая отправка.

Луи: Точно.

Росс: Тот же набор функций, который Objective-C добавил в C. И после того, как он это сделал, мы приступили к переносу большого количества фактической среды Cocoa, и именно здесь Cappuccino находится сегодня.

Луи: Точно. И вы сказали, что компиляция происходит в браузере, происходит на лету, что-то вроде CoffeeScript, где вы помещаете его через препроцессор.

Росс: На самом деле это очень похоже на CoffeeScript. У нас есть возможность сделать это как в браузере, так и заблаговременно в командной строке, что, как я полагаю, и в CoffeeScript. И поэтому обычно цикл разработки для приложения Cappuccino будет состоять в том, чтобы вносить изменения в ваши файлы .j и обновлять ваш браузер, как обычно, и эти изменения будут скомпилированы на лету в вашем браузере. Но затем при развертывании мы рекомендуем заранее скомпилировать и запустить все наши различные сценарии оптимизации, чтобы получить как можно более быстрые и быстрые вещи, чтобы вы не выполняли повторяющуюся работу каждый раз, когда один из ваших пользователей загружает ваше приложение.

Луи: Точно. И это потому, что он работает на JavaScript и компилируется в более или менее прямой JavaScript, какой уровень поддержки браузера вы получаете от этого?

Росс: Итак, официально я считаю, что мы поддерживаем практически любой браузер, IE7 или новее. Я думаю, что Cappuccino работает и в IE6, но мы не поддерживаем его, потому что мы использовали много прозрачных PNG и не особо интересовались этой проблемой.

Луи: Это странно; Прошло достаточно много времени, пока я не вспомнил, что IE6 не делал прозрачные пленки.

Росс: Да.

Луи: И это было как о, вау, эта штука была действительно архаичной.

Росс: Да. Да, когда мы действительно выпустили или когда написали наш первый Objective-J, IE6 был самым новым Internet Explorer, поэтому мы потратили много времени на то, чтобы выяснить, как сделать компиляцию этого языка в IE6 достаточно быстрой, чтобы быть реалистичной.

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

Росс: (смеется)

Луи: Парни, вам так важно не делать то, что, я думаю, я бы сделал в ваших ботинках.

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

Луи: Вы все еще работаете с Cappuccino в своей повседневной работе или над какими-либо проектами, над которыми вы работаете в данный момент?

Росс: Я сохраняю активность в списке рассылки Cappuccino и с некоторыми из наших запросов об ошибках и пулах, но у меня не было много времени в прошлом году или около того, чтобы самому заняться разработкой Cappuccino. В Stripe я работал над множеством разных вещей, в том числе над множеством внутреннего кода, но мы также недавно переписали наш внешний интерфейс и решили использовать CoffeeScript и Backbone, а затем пользовательскую среду, которую мы построенный на вершине этого.

Луи: Точно.

Росс: Я не занимаюсь каппучино в Stripe.

Луи: Точно. На самом деле я собирался спросить вас, как вы чувствуете, что Cappuccino играл против или сидел по отношению к чему-то вроде Backbone, потому что кажется, что они оба в некотором роде пытаются решить похожую проблему, хотя я полагаю, у Cappuccino есть много компонентов пользовательского интерфейса, которые Backbone на самом деле не касается.

Росс: Верно.

Луи: Но идея иметь дело с более сложными приложениями, которые работают в браузере.

Росс: В некотором смысле они пытаются достичь аналогичной цели, в некотором смысле они на самом деле комплиментарны. Backbone на самом деле не предпринимает никаких попыток что-либо предпринять, когда дело доходит до уровня представления, там, вы знаете, есть несколько удобных маленьких функций, помогающих определять события, но на самом деле не так уж много происходит. И реальная сила Backbone, я полагаю, заключается в том, что она позволяет легко связывать модели и коллекции вместе как расслабляющий бэкэнд и как можно меньше кода; Я считаю, что это, возможно, самая сильная сторона Backbone. И на самом деле Cappuccino в его нынешнем виде не очень старается с этим справиться, он пытается быть независимым от бэкэнда, наша цель была действительно, вы знаете, мы хотим написать этот интерфейс, ориентированный на интерфейс, и тогда как бы вы ни хотели получать данные туда-сюда, все будет зависеть от вас. С другой стороны, Backbone действительно крошечный — я думаю, что это 10k JavaScript, или что-то, фреймворк, и Cappuccino без изображений, я думаю, приближается к 300k или даже больше. Так что определенно есть разница в размерах, в Cappuccino встроено много функциональности, много различных компонентов представления, много ресурсов изображений, потому что, как вы сказали, вы знаете, у нас есть свой собственный полный стиль, который вы можете использовать. использовать.

Луи: Точно. И работает ли Cappuccino аналогично jQuery UI, где у вас есть этот набор компонентов интерфейса, но они могут быть заменены любым другим пользовательским набором, который вы можете придумать?

Росс: В некотором смысле это так, да, но в других отношениях все обстоит иначе. Итак, одна из вещей, на которой сфокусирован пользовательский интерфейс jQuery, и Backbone, и в действительности все другие фреймворки делают подобные вещи, это то, что они все еще хотят использовать HTML и CSS для определения своего рода индивидуального стиля вещей и организация их элементов. Взятие капучино Я думаю, что некоторые могут назвать это радикальным подходом вообще не использовать CSS или HTML, поэтому вы никогда не пишете код CSS или HTML, когда взаимодействуете с Cappuccino, все является объектом JavaScript; в Cappuccino это называется CP View, который, очевидно, как бы отображает иерархию NS View. И так, вы знаете, в некотором смысле я считаю, что Cappuccino значительно упрощает совместное использование компонентов с другими людьми, поскольку одна из проблем традиционных веб-приложений и совместного использования компонентов представления заключается в том, что все в CSS и HTML действительно связано друг с другом. структура вашего CSS может быть легко нарушена, если вы измените макет вашего HTML; у вас должно быть много знаний о том, как упорядочен и вложен HTML-код, и как к этому применяется CSS, и вам придется иметь при себе множество таких зависимостей в разных местах. И у Капучино такой проблемы нет, потому что все написано в коде.

Луи: Точно.

Росс: И Cappuccino теряет некоторую гибкость, потому что вы теряете выразительность CSS, чтобы объявлять его как статический визуальный стиль, что может быть хорошо, но у Cappuccino есть система тем, которую мы добавили, которая позволяет вам — которая добавляет некоторые из этих функций обратно так что вы можете использовать стандартные компоненты вида, но изменить их внешний вид с помощью нашей системы тем.

Луи: Да, да. Вы упомянули, что в своей работе в Stripe вы также занимались бэкэндом, с каким типом серверного кода вы работаете в Stripe?

Росс: Большая часть кода написана на Ruby, обычно поверх Sinatra, хотя и не всегда. И я проделал большую работу над нашим API и разработал своего рода структуру API и фактически интерфейс, который мы предоставляем пользователям, а не столько реализацию конкретной функциональности, я сделал кое-что из этого, но намного больше этого было до того, как я начал.

Луи: Точно.

Росс: Самая последняя вещь, над которой я работал, это то, что мы только что выпустили на этой неделе новую функцию Webhook, которая работает почти так же, как и перехваты GitHub после получения, если вы знакомы с этим. Таким образом, вы можете просто зарегистрировать и произвольное количество URL-адресов в своем аккаунте Stripe, и мы будем отправлять события на эти URL-адреса каждый раз, когда происходит что-то интересное, поэтому вы можете, не обращая на нас внимания, отслеживать историю изменений по всем вашим объектам Stripe.

Луи: Можете ли вы привести пример того, для чего это будет использоваться или как это будет использоваться в обычном случае?

Росс: Конечно, одна из вещей, которую люди используют чаще всего, это то, что у нас есть постоянная биллинговая система, и многие люди захотят добавить плату за использование в конце месяца, так что вы платите своему пользователю за месяц Допустим, вы заряжаете минуты мобильного телефона, а затем они используют все минуты своего мобильного телефона плюс еще 60 минут, поэтому вы хотите добавить дополнительную плату на основе этих дополнительных 60 минут, чтобы мы отправили вам веб-хук, говорящий Вы, что срок их оплаты истек, мы создали для них счет-фактуру и все детали об этом счете-фактуре, а также даты, на которые он влияет, и мы даем вам возможность отправить нам сообщение со словами: «Хорошо. Отлично, добавьте эту сумму в счет, прежде чем пытаться ее оплатить.

Луи: Точно. Да, это звучит действительно хорошо. И поэтому в своей работе с Ruby вы сказали, что много работаете с Sinatra, и я полагаю, потому что вам не приходится иметь дело с такой же полной версией ViewStack, как с традиционным веб-приложением, потому что вы больше работаете с API или поскольку ваш основной продукт — это API, как вы говорили ранее, имеет смысл использовать что-то легкое, например, Sinatra, вместо более полной среды, такой как Rails?

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

Луи: Точно. Я действительно думаю, что это действительно интересный подход, и я не слышал, чтобы кто-то делал это раньше. Я предполагаю, что подход большинства людей к созданию веб-приложения, которое включает в себя API, состоит в том, чтобы создать приложение с некоторыми представлениями, а затем выполнить API, который отображает XML или JSON, или что у вас есть, но я предполагаю, что если вы создаете приложение или панель инструментов, которая в некотором роде похожа на одно из этих одностраничных приложений JavaScript, а затем простое использование собственного API-интерфейса — это, прежде всего, отличный способ убедиться, что дизайн или ваш API-интерфейс разумны, и что его легко использовать другим разработчикам, и как вы сказали, чтобы определить любые проблемы, которые могут возникнуть в нем.

Росс: Да, это была наша цель, первый вариант сайта не был написан таким образом, это был гораздо более традиционный веб-сайт, и когда мы сделали это переписать как одностраничное приложение, мы думали, что сможем выиграть Выполняя это, в дополнение к стандарту, вы знаете, делайте его более отзывчивым, ускоряйте его загрузку и так далее, если бы вы могли напрямую взаимодействовать с API и использовать тот же обмен данными JSON, чтобы действительно убедиться, что наши пользователи будут иметь хороший опыт использования API.

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

Росс: У нас есть, да. Я думаю, что вы могли бы создать сайт таким образом, не сильно изменив то, что мы имеем сейчас, чтобы он работал без JavaScript. Все наши вещи написаны во внешнем интерфейсе с помощью Eco, который является языковым шаблоном CoffeeScript, и мы можем запустить его в Node на внутреннем интерфейсе, сгенерировать первую страницу и отправить вам этот HTML, если мы захотим. Мы решили, что, основываясь на наших пользователях, основываясь на функциональности, которую мы хотели предложить, на самом деле это не будет такой большой проблемой, требующей JavaScript, с точки зрения SEO это не проблема, потому что сайт находится за стеной входа в систему, поэтому для нас мы решили, что на самом деле это не стоило времени на разработку, но я думаю, что вы могли бы создать подобную систему и по-прежнему отображать ее, если JavaScript отключен.

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

Росс: Ну, это хороший вопрос. Прямо сейчас я бы сказал, что это определенно не так — дело в том, что это во многом зависит от того, что вы создаете, если ваш сайт в основном контент, и он в первую очередь связан с тем, что люди ссылаются на вас и Google выбирает ваш контент, вы знаете, что вы действительно нужно работать без JavaScript. В какой-то степени браузер, поисковая система станет лучше, верно, и поэтому, если Google сможет действительно точно вытащить страницы, на которых требовался JavaScript, и получить нужный контент, возможно, это даже станет проблемой ; Я не совсем уверен, что над этой проблемой они работают. Но с точки зрения других проблем, таких как доступность, вы знаете, что программное обеспечение для чтения с экрана и действительно все браузеры значительно лучше справились с такой проблемой, все мобильные браузеры, которые выходят в наши дни, действительно хорошо поддерживают JavaScript, поэтому я думаю, это не столько техническое беспокойство, это меньше беспокойство с точки зрения юзабилити. Некоторые люди могут предпочесть запускать с отключенным JavaScript, а для некоторых для многих веб-сайтов, вероятно, все еще имеет смысл предложить им некоторый опыт, но я действительно думаю, что настоящий стимул между работой без JavaScript — это поисковые системы и способность индексировать контент.

Луи: Точно. Также, вероятно, справедливо будет сказать, что вы достигли точки, когда, если у вас отключен JavaScript в вашем браузере, большая часть Интернета будет разочаровывать вас.

Росс: О да. Я уверен, что Facebook не очень хорошо работает без JavaScript, я не уверен, насколько хороши новые тарифы на Twitter. Но да, я имею в виду, что многие крупные сайты не будут работать очень хорошо без JavaScript.

Луи: Итак, вы упомянули, что улучшается доступность и программное обеспечение для чтения с экрана, это то, что вы, ребята, немного поиграли и протестировали?

Росс: Это не то, с чем мы играли в Stripe, хотя на это я обращал внимание, когда работал полный рабочий день в Cappuccino; как вы можете себе представить, потому что Cappuccino даже не использует HTML, он делает все на JavaScript, ему особенно трудно взаимодействовать с программами чтения с экрана, им довольно сложно из-за некоторых уловок, которые мы делаем. И одной из наших целей было сделать это как можно лучше, к сожалению, тогда, когда я работал над этим около двух лет назад, спецификация доступности ARIA только начинала внедряться в браузерах, и поэтому тонна, которую мы смогли сделать. Но я недавно разговаривал с некоторыми людьми, и, насколько я понимаю, они работают над некоторыми более новыми функциями в ARIA или над следующей версией спецификации доступности, которая может быть действительно интересна для таких сред, как Cappuccino, которые хотят много контролировать ,

Луи: Точно. Да, я взглянул на ARIA, когда работал с SitePoint над книгой HTML5 и CSS3, и мне показалось, что это действительно хороший шаг в этом направлении, конечно, еще неизвестно, насколько быстро браузеры и программы чтения с экрана способны принять это.

Росс: Да, я не уверен, что такое состояние усыновления, но я точно знаю, что оно становится лучше, чем два года назад.

Луи: Да, и я думаю, что все браузеры движутся так же быстро, как и сейчас, это то, что действительно будет развиваться намного быстрее, чем те из нас, кто работал в Интернете в течение какого-то времени, привыкли к.

Росс: Да, на самом деле, я очень рад тому, как все движется в Интернете, вы знаете, что IE6 в значительной степени не является фактором для большинства людей в наши дни, даже IE7 кажется довольно низким трафиком на большинстве сайтов, вероятно, если вы не делаете что-то вроде явно корпоративного Интернета или нацеливаетесь на конкретные страны, скоро IE7 не станет серьезной проблемой для большинства людей. И вы знаете, IE10, я думаю, выйдет следующим, и у него должна быть действительно хорошая производительность JavaScript, и у них теперь есть поддержка Canvass, и поэтому я думаю, что мы движемся намного быстрее в мире Интернета, чем мы был очень долго.

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

Росс: Да, и в то же время я думаю, что нас может настать непростое время, потому что я думаю, что происходит много фрагментации, не обязательно в плохом смысле, но, как вы сказали, игривость, много экспериментов. с вещами, которые Google вкладывает в Chrome, и вещами, которые Firefox вкладывает в Mozilla, и они не всегда совпадают. И я думаю, что было больше своего рода негативное мнение о органах стандартизации, в которых я не могу винить людей, потому что они являются одной из причин, почему вещи движутся так медленно, хотя я думаю, что есть довольно веские причины, почему они движутся так медленно , Но да, я не хочу — я немного волнуюсь, что мы окажемся в мире, где Интернет вернется в своего рода режим «лучше всего работает в этом браузере», и я определенно не хочу, чтобы это произошло.

Луи: Да.

Росс: Но очевидно, что нативные приложения на мобильных платформах, таких как iPhone и Android, испытывают сильное давление, поэтому в ближайшие несколько лет это будет интересно.

Луи: Да, определенно. Хотя мне кажется, что есть какое-то движение в сторону такого рода вещей на более экспериментальном уровне, вы знаете, что люди сделают демонстрацию чего-то, что работает только в Firefox, работает только в WebKit, потому что они используют какую-то новую функцию, которая просто был добавлен Но не похоже, что он может распространиться на более широкую сеть так же, как вы видели подобные виды баннеров Netscape Navigator 4 на сайтах реальных клиентов, верно?

Росс: Да. Да, надеюсь, нет. Вы знаете, что самые большие потенциальные вещи, о которых я беспокоюсь, это своего рода будущее JavaScript, вы знаете, что Google работает над их усилиями в Dart, следующая версия ECMA как бы пробивается через комитет, и по-прежнему существует значительное количество разногласий по поводу того, какие функции вставлять, да, (смех). Но, вы знаете, да, я довольно оптимистичен, кажется, я уверен, что все помнят прошлое, это было не так давно, поэтому я не думаю, что люди будут спешить с такими же ошибками ,

Луи: Да, определенно. Говоря о скорости выпусков браузеров, мы записали последний релиз Firefox вчера; У вас была возможность взглянуть на новые функции разработчика?

Росс: Я вообще не смотрел на это вообще.

Луи: Хорошо.

Росс: По правде говоря, нет.

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

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

Луи: Да, и не отставать от более быстрого графика выпуска.

Росс: Верно. Правда, с тех пор, как вышел Chrome, я не был большим пользователем Firebug, и, в частности, я думаю, что инструменты для разработчиков в Chrome действительно хороши, я действительно впечатлен тем, как далеко они продвинулись за последние несколько лет. Я могу вспомнить время, когда не было другого выбора, кроме оповещения об ошибках, и теперь я думаю, что Chrome действительно лучший способ отладки, чем Ruby, а затем действительно большинство вещей, которые я делаю на стороне сервера.

Луис: Хм, да, это верный момент, работая на стороне сервера, вы часто сталкиваетесь почти с эквивалентом отладки предупреждений в смысле простого выгрузки чего-либо и обновления страницы. Принимая во внимание, что при работе с JavaScript вы действительно обладаете мощью консоли, и это одна из вещей, которые я нахожу интересными в новых инструментах Firefox, с добавлением подсветки синтаксиса и кодирования в новой функции блокнота, похоже, она действительно имеет потенциал, и они используют его в другом направлении, не просто копируя Firebug или веб-инспектора. Очевидно, это было только 12 часов, и я спал для большинства из них, так что я на самом деле не играл с ним очень много, но это выглядит многообещающе, так что.

Росс: Да, я на самом деле определенно заинтересован в том, чтобы взглянуть на это, потому что определенно большая конкуренция в области инструментов — это то, что помогло нам продвинуться так далеко, как мы пришли сейчас, так что, безусловно, будет интересно увидеть, как он поднимется.

Луи: Да, абсолютно.

Росс: Меня всегда удивляло, как мало людей знают об инструментах, доступных в отладчике Chrome и общем веб-инспекторе; люди использовали Firebug так долго, что я думаю, что они, возможно, не смотрели на то, как много вещей произошло в Chrome и Safari, и у них есть анализатор сохранности, у них есть все виды инструментов, чтобы рассказать вам о проблемах с памятью что у вас есть, чтобы рассказать вам о проблемах с производительностью, это что-то вроде YSlow-эквивалента, что-то вроде встроенного, и вы знаете, что у вас есть профилировщик процессора, на самом деле там действительно много чего интересного.

Луи: Да, я снова помню, как работал над книгой HTML5 для SitePoint, я часто использовал Chrome, потому что в тот момент у Firebug не было никакого способа взглянуть на локальное хранилище или у него есть доступ к Web DB в веб-инспекторе, я думаю, это так.

Росс: Я думаю, что да, и вы можете точно проверить все локальное хранилище и хранилище сессий, если оно еще там, и куки; Вы также можете установить как точки останова для событий сейчас, например, для событий DOM, так что вы можете сказать, как разрыв для событий этого типа, или как HXR для этого URL, это действительно гибко.

Луи: Хм, да, это фантастика. И хотя я не работал — я некоторое время работал исключительно на стороне сервера, я с завистью заглядывал в лагерь JavaScript, наблюдая, как на сцене появляются Backbone, и как инструменты отладки. стать намного лучше, а потом немного зудеть, чтобы в какой-то момент вернуться на передний план.

Росс: Да, ты должен.

Луис: Хорошо, было приятно видеть тебя на шоу, Росс.

Росс: Да, было здорово поговорить с тобой.

Луи: И поэтому, если слушатели хотят найти вас в Интернете, каковы основные точки соприкосновения?

Росс: Вы можете найти меня в Твиттере по моей фамилии, так что это @boucher , если вы не можете записать это по буквам, это Бушер.

Луи: (смеется)

Росс: Я не знаю, хочешь ли ты это вставить вообще. У меня есть веб-сайт, rossboucher.com , я на самом деле не очень много делаю, но работаю над его восстановлением, так что надеюсь, что когда-нибудь я это сделаю. Так что, да, я думаю, что Twitter — это основной путь, мой адрес электронной почты, и любые многочисленные способы связаться со мной находятся на моем сайте.

Луи: Хорошо, хорошо, большое спасибо, опять же, мы с нетерпением ждем того, что выйдет из Stripe, и я очень рад, что у нас есть другие альтернативы для оплаты онлайн, потому что, как я уже упоминал, мы определенно боролись с чем-то, так что да, удачи в этом, и я с нетерпением жду, что из этого получится.

Росс: Спасибо.

Луи: Ура.

Росс: Ура.

Луи: И спасибо за прослушивание на этой неделе эпизода подкаста SitePoint. Мне бы очень хотелось услышать, что вы думаете о сегодняшнем шоу, поэтому, если у вас есть какие-либо мысли или предложения, просто зайдите на Sitepoint.com/podcast и вы можете оставить комментарий к сегодняшнему эпизоду, вы также можете загрузить любой из наших предыдущих эпизодов для загрузки. или подписаться, чтобы получить шоу автоматически. Вы можете следить за SitePoint в Твиттере @sitepointdotcom , это сайт dotpoint dotcom, и вы можете следить за мной в Твиттере @rssaddict .

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

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