В докладе будет рассказано и показано, как расширить возможности стандартного ASP.NET MVC3 web-приложения, используя браузерный native-плагин, написанный на языке C++. Будет показано применение фреймворка FireBreath, позволяющего легко создавать гибкие, кроссплатформенные и кроссбраузерные плагины. Будут затронуты вопросы взаимодействия managed-кода на C# с native-кодом на C++, а также показаны возможности по вызову кода на C++/C# из клиентского JavaScript-кода web-страницы. Применение вышеназванных технологий будет показано на примерах, одним из которых является разработанный для нужд системы электронного документооборота плагин, позволяющий осуществлять взаимодействие со сканером документов, подключенным к компьютеру клиента, из кода на JavaScript.
Также будет даваться краткое описание других технологий, связанных с выполнением браузером не специфичных для него функций: NaCl, Pepper, и приведено сравнение этих технологий.
Історія декількох проектів та що в них пішло не так - UA Mobile 2019UA Mobile
У середовищі розробників існує думка про те, що сучасні проекти, зокрема - Android проекти, - всього лише пазл з бібліотек та невеликої кількості бізнес-логіки. В рамках моєї презентації ми розглянемо кілька проектів, на прикладі яких я покажу деякі проблеми та приховану вартість використання деяких бібліотек, про яку мало хто замислюється.
В якості бонуса ми подивимося на деякі приклади очевидного (і не дуже) поганого коду та поганої архітектури.
Під час презентації ми розглядаємо як деякі відомі бібліотеки (RxAndroid, Dagger, Android Architecture Components) використовуються в занадто широкому сенсі або на занадто ранній стадії, і як це заважає проекту, викликаючи вельми неочевидні проблеми як для розробника, так і для кінцевого користувача.
http://uamobile.org/uk/topics/istoriya-dekilkoh-proektiv-ta-shcho-v-nyh-pishlo-ne-tak
Последние несколько лет в продуктовой разработке проблемы масштабирования решаются через переход на микросервисную архитектуру. На эту тему было сказано много про подходы, плюсы и минусы, но мало кто рассматривал эту проблематику со стороны фронтенда.
В ЦИАН мы идем по пути перехода от монолита к микросервисам, в том числе и на фронтенде. Задачи и проблемы, с которыми мы сталкиваемся, очень близки к аналогичным на бэкенде, но в то же время совершенно другие.
В своем докладе я расскажу про архитектуру фронтенда (и так называемого миддленда) в ЦИАН: какие задачи перед нами стояли, что мы решили, где мы находимся сейчас и с какими проблемами мы столкнулись.
В докладе будет рассказано и показано, как расширить возможности стандартного ASP.NET MVC3 web-приложения, используя браузерный native-плагин, написанный на языке C++. Будет показано применение фреймворка FireBreath, позволяющего легко создавать гибкие, кроссплатформенные и кроссбраузерные плагины. Будут затронуты вопросы взаимодействия managed-кода на C# с native-кодом на C++, а также показаны возможности по вызову кода на C++/C# из клиентского JavaScript-кода web-страницы. Применение вышеназванных технологий будет показано на примерах, одним из которых является разработанный для нужд системы электронного документооборота плагин, позволяющий осуществлять взаимодействие со сканером документов, подключенным к компьютеру клиента, из кода на JavaScript.
Также будет даваться краткое описание других технологий, связанных с выполнением браузером не специфичных для него функций: NaCl, Pepper, и приведено сравнение этих технологий.
Історія декількох проектів та що в них пішло не так - UA Mobile 2019UA Mobile
У середовищі розробників існує думка про те, що сучасні проекти, зокрема - Android проекти, - всього лише пазл з бібліотек та невеликої кількості бізнес-логіки. В рамках моєї презентації ми розглянемо кілька проектів, на прикладі яких я покажу деякі проблеми та приховану вартість використання деяких бібліотек, про яку мало хто замислюється.
В якості бонуса ми подивимося на деякі приклади очевидного (і не дуже) поганого коду та поганої архітектури.
Під час презентації ми розглядаємо як деякі відомі бібліотеки (RxAndroid, Dagger, Android Architecture Components) використовуються в занадто широкому сенсі або на занадто ранній стадії, і як це заважає проекту, викликаючи вельми неочевидні проблеми як для розробника, так і для кінцевого користувача.
http://uamobile.org/uk/topics/istoriya-dekilkoh-proektiv-ta-shcho-v-nyh-pishlo-ne-tak
Последние несколько лет в продуктовой разработке проблемы масштабирования решаются через переход на микросервисную архитектуру. На эту тему было сказано много про подходы, плюсы и минусы, но мало кто рассматривал эту проблематику со стороны фронтенда.
В ЦИАН мы идем по пути перехода от монолита к микросервисам, в том числе и на фронтенде. Задачи и проблемы, с которыми мы сталкиваемся, очень близки к аналогичным на бэкенде, но в то же время совершенно другие.
В своем докладе я расскажу про архитектуру фронтенда (и так называемого миддленда) в ЦИАН: какие задачи перед нами стояли, что мы решили, где мы находимся сейчас и с какими проблемами мы столкнулись.
"Изоморфная разработка на javascript с помощью react.js" Максим КлимишинFwdays
Современная разработка на JavaScript быстро эволиционирует – в язык входят инструменты, которые позволяют создавать прогнозируемые и надежные продукты как на сервере, так и на клиенте. С ES6 пришли генератор и итераторы, из Clojure – трансдюсеры и CSP каналы, Facebook дал React.js и Immutable.js.
Изоморфная разработка – когда один и тот же код может работать как на сервере, так и на клиенте, набирает популярность. В моем докладе я хочу раскрыть последние тренды в этой области и как это можно сделать с помощью React.js.
При создании интерактивного мобильного или веб-приложений нужна серверная часть, которую будет использовать приложение и разработчик этого приложения. Он должен знать маршруты, по которым можно найти методы, их описание, входные параметры и варианты ответов.
В идеале хочется, чтобы из API можно было мгновенно сгенерировать клиентский код. А ещё реализация метода всегда может измениться, и нужно предусмотреть версионность, чтобы старые клиенты могли продолжать работать без ошибок.
Можно подумать, что реализация этого может занять месяцы, но я покажу, как реализовать это на ASP.NET Core за 20 минут.
Евгений Остапчук "Tips&Tricks for ASP.NET MVC performance"Fwdays
On this talk, we will share unusual back streets of ASP.NET MVC for increase performance:
- brief review of usual improvements
- fast and strong typed url generation
- increase Razor performance
Svyatoslav Login "How to test authentication and authorization for security"Fwdays
The login page is the most important page on the site since with the help of it we understand to give access to this or that user. Most often, hackers crack this particular functionality, in order to get access to the accounts, especially access to admin accounting. Using the Burp Suite tool and beef, I'll show you how you can check it out.
Презентация Владимира Храмцова к докладу про оптимизацию двух маленьких PHP проектов. Основыне тезисы: что происходит, когда увеличивается нагрузка, какие возникают проблемы и способы их решения.
Мы поговорим о построении одностраничных приложений с помощью React, преимуществах и недостатках React относительно других решений. В рамках вебинара мы построим небольшое динамическое приложение на React.
- Что такое ReactJS и как он рабтает.
- Какие преимущества использованя компонентов.
- Как создавать компоненты на ReactJS.
- Как передавать параметры компонентам и использовать JSX.
- Как обрабатывать события в React.
- Как работать с состоянием компонентов.
- Какие перспективы использования React.
Ведущая Екатерина Поршнева:
- На данный момент Екатерина работает front-end разработчиком на ReactJS в компании YouScan.
- Автор популярного видео-курса по ReactJS.
- Спикер на всеукраинских и международных конференциях по web-разработке.
- Спикер на всеукраинский семинарах и мастер-классах по разработке одностраничных приложений на ReactJS.
http://frontend-science.com/react-webinar/
QA Fes 2016. Александр Неделяев. Система мониторинга производительности своим...QAFest
Как известно, то, что не может быть измерено, не может быть улучшено.
В своем докладе я расскажу вам о том, как с помощью open source инструментов можно построить систему мониторинга производительности приложения, а также представить полученные данные в доступной и наглядной форме. А технология контейнеров Docker поможет сделать это максимально быстро и просто.
Денис Измайлов, JavaScript сегодня: React, Redux и новая реальностьScrumTrek
2016 год. Добро пожаловать в новую реальность.
Сегодня позиция JavaScript-разработчика является одной из самых востребованных и хорошо оплачиваемых в мире. Современные возможности JavaScript - это квестистенция всего, что произошло в отрасли разработки за всё её время существования: универсальные React-компоненты и композиция, декларативная анимация, изоморфные приложения, отсутствие side effects, авто-генерация тестов, симбиоз ООП и функционального программирования.
Последние три года выдались самые насыщенные революционные для веб-разработки. Многие разработчики, кто не успел уследить за произошедшим, задают лишь один вопрос ЧТО ПРОИСХОДИТ?
В рамках этого доклада мы попробуем синхронизироваться с JavaScript сообществом и посмотреть, что же он предоставляет нам сегодня? Как решать задачи привычные задачи? Что является актуальным направлением, а что может стать пустой тратой сил и времени?
"Web Vitals monitoring & optimizations", Erik HimiranovFwdays
Performance is one of the key factors in determining a product's user experience. It is very important that the site loads quickly, is responsive and interactive, and the content remains stable.
I want to share why you need to monitor application performance, talk about Web Vitals metrics and tools for measuring them.
I also want to tell you about examples of optimizations that can positively affect performance and what results it can bring.
Эволюция клиентской разработки: от веба ко "всеобщей мобилизации” или mobile-...Pavel Dovbush
История развития проекта с точки зрения клиентских технологий - от веб-сайта к появлению мобильных клиентов и смещению фокуса к mobile-first разработке. Общие черты нашей архитектуры и их отличия от стандартных решений.
Единый протокол общения с приложениями iOS/Android/WindowsMobile/MobileWeb/Web и особенности реализации для JavaScript платформ (десктопные и мобильные браузеры).
Изменение процесса разработки и подходов к реализации нового функционала для переключения на mobile-first стратегию.
Александр Кириллов. Веб разработка: Что такое Ruby On Rails. РИФ-Воронеж 2016РИФ-Воронеж
"Тема выступления рассчитана, в основном, на начинающих разработчиков. В ней освещены основные концепции веб разработки с помощью фреймворка ""Ruby On Rails"". Выступление будет разделено на основные тематики:
- что это за фреймворк и что значит выражение “Ruby On Rails”
- будет рассмотрен паттерн MVC в Rails
- подробно рассмотрены соотвествующие уровни (модель, контроллер, представление)
- отправка почты, нюансы и решения
- отложенные и периодические задачи
- особое внимание будет уделено тестированию приложений"
React - это JavaScript библиотека для построения пользовательских интерфейсов с отличной производительностью. В данном докладе я постараюсь рассказать, как работает React изнутри. Вы узнаете, что такое Виртуальный DOM и как он работает, что именно происходит после вызова setState в компоненте, как работает Diff-алгоритм, что такое Batching и как в React построена система событий.
Спикер:
Илья Беланенко
SEO специалист в компании LUXEO
От спикера:
На вебинаре Вы узнаете полезные фишки для оптимизации скорости загрузки сайта и полезные сервисы для этого.
На вебинаре Вы узнаете:
- Краткая информация о загрузки сайта;
- Пункты по оптимизации загрузки сайта;
- Полезные сервисы для оптимизации загрузки сайта;
- Примеры влияния скорости загрузки на позиции сайта;
- Ответы на вопросы.
Данный вебинар будет интересен:
- Интернет-маркетологам;
- Владельцам бизнеса и руководителям;
- Начинающим специалистам.
--------------------------------------------
ПОДПИСЫВАЙТЕСЬ на канал WebPromoExperts! - http://bit.ly/YouTube_WPE
--------------------------------------------
- Еженедельный ДАЙДЖЕСТ (e-mail рассылка) - http://bit.ly/wpe-subs
- FACEBOOK: https://www.facebook.com/webpromoexperts
- Instagram: https://www.instagram.com/webpromoexperts/
- Telegram: https://t.me/webpromoexperts
- ВКонтакте: https://vk.com/webpromoexperts
--
Академии интернет-маркетинга WebPromoExperts http://bit.ly/site_wpe-academy
Блог Академии: http://bit.ly/blog_wpe-academy
--
Организатор: Агентство эффективного интернет-маркетинга WebPromo: http://www.web-promo.ua/
"Изоморфная разработка на javascript с помощью react.js" Максим КлимишинFwdays
Современная разработка на JavaScript быстро эволиционирует – в язык входят инструменты, которые позволяют создавать прогнозируемые и надежные продукты как на сервере, так и на клиенте. С ES6 пришли генератор и итераторы, из Clojure – трансдюсеры и CSP каналы, Facebook дал React.js и Immutable.js.
Изоморфная разработка – когда один и тот же код может работать как на сервере, так и на клиенте, набирает популярность. В моем докладе я хочу раскрыть последние тренды в этой области и как это можно сделать с помощью React.js.
При создании интерактивного мобильного или веб-приложений нужна серверная часть, которую будет использовать приложение и разработчик этого приложения. Он должен знать маршруты, по которым можно найти методы, их описание, входные параметры и варианты ответов.
В идеале хочется, чтобы из API можно было мгновенно сгенерировать клиентский код. А ещё реализация метода всегда может измениться, и нужно предусмотреть версионность, чтобы старые клиенты могли продолжать работать без ошибок.
Можно подумать, что реализация этого может занять месяцы, но я покажу, как реализовать это на ASP.NET Core за 20 минут.
Евгений Остапчук "Tips&Tricks for ASP.NET MVC performance"Fwdays
On this talk, we will share unusual back streets of ASP.NET MVC for increase performance:
- brief review of usual improvements
- fast and strong typed url generation
- increase Razor performance
Svyatoslav Login "How to test authentication and authorization for security"Fwdays
The login page is the most important page on the site since with the help of it we understand to give access to this or that user. Most often, hackers crack this particular functionality, in order to get access to the accounts, especially access to admin accounting. Using the Burp Suite tool and beef, I'll show you how you can check it out.
Презентация Владимира Храмцова к докладу про оптимизацию двух маленьких PHP проектов. Основыне тезисы: что происходит, когда увеличивается нагрузка, какие возникают проблемы и способы их решения.
Мы поговорим о построении одностраничных приложений с помощью React, преимуществах и недостатках React относительно других решений. В рамках вебинара мы построим небольшое динамическое приложение на React.
- Что такое ReactJS и как он рабтает.
- Какие преимущества использованя компонентов.
- Как создавать компоненты на ReactJS.
- Как передавать параметры компонентам и использовать JSX.
- Как обрабатывать события в React.
- Как работать с состоянием компонентов.
- Какие перспективы использования React.
Ведущая Екатерина Поршнева:
- На данный момент Екатерина работает front-end разработчиком на ReactJS в компании YouScan.
- Автор популярного видео-курса по ReactJS.
- Спикер на всеукраинских и международных конференциях по web-разработке.
- Спикер на всеукраинский семинарах и мастер-классах по разработке одностраничных приложений на ReactJS.
http://frontend-science.com/react-webinar/
QA Fes 2016. Александр Неделяев. Система мониторинга производительности своим...QAFest
Как известно, то, что не может быть измерено, не может быть улучшено.
В своем докладе я расскажу вам о том, как с помощью open source инструментов можно построить систему мониторинга производительности приложения, а также представить полученные данные в доступной и наглядной форме. А технология контейнеров Docker поможет сделать это максимально быстро и просто.
Денис Измайлов, JavaScript сегодня: React, Redux и новая реальностьScrumTrek
2016 год. Добро пожаловать в новую реальность.
Сегодня позиция JavaScript-разработчика является одной из самых востребованных и хорошо оплачиваемых в мире. Современные возможности JavaScript - это квестистенция всего, что произошло в отрасли разработки за всё её время существования: универсальные React-компоненты и композиция, декларативная анимация, изоморфные приложения, отсутствие side effects, авто-генерация тестов, симбиоз ООП и функционального программирования.
Последние три года выдались самые насыщенные революционные для веб-разработки. Многие разработчики, кто не успел уследить за произошедшим, задают лишь один вопрос ЧТО ПРОИСХОДИТ?
В рамках этого доклада мы попробуем синхронизироваться с JavaScript сообществом и посмотреть, что же он предоставляет нам сегодня? Как решать задачи привычные задачи? Что является актуальным направлением, а что может стать пустой тратой сил и времени?
"Web Vitals monitoring & optimizations", Erik HimiranovFwdays
Performance is one of the key factors in determining a product's user experience. It is very important that the site loads quickly, is responsive and interactive, and the content remains stable.
I want to share why you need to monitor application performance, talk about Web Vitals metrics and tools for measuring them.
I also want to tell you about examples of optimizations that can positively affect performance and what results it can bring.
Эволюция клиентской разработки: от веба ко "всеобщей мобилизации” или mobile-...Pavel Dovbush
История развития проекта с точки зрения клиентских технологий - от веб-сайта к появлению мобильных клиентов и смещению фокуса к mobile-first разработке. Общие черты нашей архитектуры и их отличия от стандартных решений.
Единый протокол общения с приложениями iOS/Android/WindowsMobile/MobileWeb/Web и особенности реализации для JavaScript платформ (десктопные и мобильные браузеры).
Изменение процесса разработки и подходов к реализации нового функционала для переключения на mobile-first стратегию.
Александр Кириллов. Веб разработка: Что такое Ruby On Rails. РИФ-Воронеж 2016РИФ-Воронеж
"Тема выступления рассчитана, в основном, на начинающих разработчиков. В ней освещены основные концепции веб разработки с помощью фреймворка ""Ruby On Rails"". Выступление будет разделено на основные тематики:
- что это за фреймворк и что значит выражение “Ruby On Rails”
- будет рассмотрен паттерн MVC в Rails
- подробно рассмотрены соотвествующие уровни (модель, контроллер, представление)
- отправка почты, нюансы и решения
- отложенные и периодические задачи
- особое внимание будет уделено тестированию приложений"
React - это JavaScript библиотека для построения пользовательских интерфейсов с отличной производительностью. В данном докладе я постараюсь рассказать, как работает React изнутри. Вы узнаете, что такое Виртуальный DOM и как он работает, что именно происходит после вызова setState в компоненте, как работает Diff-алгоритм, что такое Batching и как в React построена система событий.
Спикер:
Илья Беланенко
SEO специалист в компании LUXEO
От спикера:
На вебинаре Вы узнаете полезные фишки для оптимизации скорости загрузки сайта и полезные сервисы для этого.
На вебинаре Вы узнаете:
- Краткая информация о загрузки сайта;
- Пункты по оптимизации загрузки сайта;
- Полезные сервисы для оптимизации загрузки сайта;
- Примеры влияния скорости загрузки на позиции сайта;
- Ответы на вопросы.
Данный вебинар будет интересен:
- Интернет-маркетологам;
- Владельцам бизнеса и руководителям;
- Начинающим специалистам.
--------------------------------------------
ПОДПИСЫВАЙТЕСЬ на канал WebPromoExperts! - http://bit.ly/YouTube_WPE
--------------------------------------------
- Еженедельный ДАЙДЖЕСТ (e-mail рассылка) - http://bit.ly/wpe-subs
- FACEBOOK: https://www.facebook.com/webpromoexperts
- Instagram: https://www.instagram.com/webpromoexperts/
- Telegram: https://t.me/webpromoexperts
- ВКонтакте: https://vk.com/webpromoexperts
--
Академии интернет-маркетинга WebPromoExperts http://bit.ly/site_wpe-academy
Блог Академии: http://bit.ly/blog_wpe-academy
--
Организатор: Агентство эффективного интернет-маркетинга WebPromo: http://www.web-promo.ua/
Субъективная точка зрения на фронтенд разработку.
Площадка: IT-бар КЛЮЧ, https://vk.com/event69759919
Видео с доклада: https://www.youtube.com/watch?v=pyAYbbDJjPo
Простая и дешёвая бизнес-аналитика на базе Google BigQuery / Алексей Паршуков...Ontico
РИТ++ 2017, Backend Conf
Зал Сан-Паулу, 6 июня, 14:00
Тезисы:
http://backendconf.ru/2017/abstracts/2778.html
Хотите научиться принимать решения на основе данных, но не знаете, с чего начать? Нужно записать миллионы событий, но не уверены, как делать это правильно? Вы не знаете, как быстро и дёшево строить аналитические отчеты или запутались в инструментах?
На примере DocDoc я расскажу о плюсах и минусах различных подходов: как выбрать систему хранения, почему мы остановились на Google BigQuery. Как правильно организовать данные, записать свой clickstream, отказаться от сэмплирования в GA, а также строить простые и понятные отчеты.
Разработка мобильного и веб интерфейса для CachéInterSystems CEE
Клиент, сервер и их взаимодействие, разработка веб и мобильных приложений, Лебедюк Эдуард /
Client & server overview & communication between them, how to develop mobile apps based on existing webapp, Eduard Lebedyuk
Как мы разрабатываем новый фронтенд / Филипп Нехаев (Tinkoff.ru)Ontico
Недавно запустили новый сайт Тинькофф.
У нас есть желание поделиться с аудиторией подходом и опытом разработки большого изоморфного приложения на React.js и Flux. Меньше чем за год мы разработали новый сайт и интернет-банк, заложив платформу на ближайшие несколько лет для быстрой разработки фронтенда новых продуктов.
Сейчас tinkoff.ru насчитывает более 3000 компонентов и сотни страниц.
1. Компоненты MVC
2. Django как пример MVC фреймворка
3. Структура Django проекта
4. Модульность в Djnago: приложения
5. Конфигурация проектов
6. Маршрутизация URL
7. Обратная маршрутизация URL
В докладе пойдет речь о прогрессивных веб приложениях, подходе по улучшению пользовательского взаимодействия с мобильным вебом. Расскажу о том как обстоят дела с офлайном в 2016, как взаимодействовать с сервис воркерами и какие инструменты могут упростить жизнь разработчику. Поговорим о том, как PWA могут принести пользу бизнесу и сделать пользователя довольным.
Чеклист по клиентской оптимизации / Николай Лавлинский (Метод Лаб)Ontico
РИТ++ 2017, HighLoad Junior
Зал Сингапур, 6 июня, 10:00
Тезисы:
http://junior.highload.ru/2017/abstracts/2475.html
Когда проект растёт, возникает множество проблем с масштабируемостью сервиса: БД, сервера приложений, хранилище. Однако, не менее важной становится клиентская часть веб-приложения.
Во-первых, грамотная клиентская оптимизация позволяет повысить скорость работы сервиса для пользователей и, следовательно, увеличить их лояльность, которая конвертируется в деньги.
...
Александр Русаков - TypeScript 2 in actionMoscowJS
В докладе речь пойдет об основных нововведениях TypeScript 2.0 и 2.1 (literal types, discriminated unions, mapped types...) и их использовании в реальных проектах.
Виктор Розаев - Как не сломать обратную совместимость в Public APIMoscowJS
Представьте что у вас есть публичный JavaScript API. Им пользуются сторонние девелоперы от Индии до Канады, чтобы писать свои облачные сервисы. Эти сервисы продают телекомуникационные компании с многомиллиардными оборотами превышающими стоимость вашей компании. Любая остановка сервиса - миллионные убытки. Представили? А нам и представлять не надо - это наша работа. Добро пожаловать в нашу реальность. В рамках доклада мы расскажем о том, как сохранить обратную совместимость при активном развитии и неизвестных пользователях, ну и причем тут вообще интерны.
Контекст в React, Николай Надоричев, MoscowJS 31MoscowJS
Контекст стал документированной фичей сравнительно недавно, но его использование либо осуждается, либо не понимается. Такие библиотеки как react-redux или react-router успешно используют для своих нужд. В докладе рассмотрим основные аспекты работы с контекстом: зачем он нужен и какие проблемы решает.
Верстка Canvas, Алексей Охрименко, MoscowJS 31MoscowJS
Зачем? Как и когда нужно создавать пользовательский интерфейс с помощью Canvas и как обогнать React Native - обо всем этом вы узнаете из этого доклада.
Команда разработчиков Angular2 провела огромную работу над Change Detector, он стал быстрым и "умным". В докладе рассмотрим две основные фазы Angular2 приложения, куда все таки делся $apply(), и почему Angular2 обещает быть фантастически быстрым (в сравнении с AngularJs).
Создание WYSIWIG-редакторов для веба, Егор Яковишен, Setka, MoscowJs 33MoscowJS
В 2016 году интернет-изданиям недостаточно просто писать интересные материалы, нужно быстро и качественно их оформлять и показывать на разных устройствах. Я расскажу о нашем опыте создания JS-редактора, с помощью которого ежедневно публикуются десятки постов для 3 миллионов читателей.
"Опыт разработки универсальной библиотеки визуальных компонентов в HeadHunter...MoscowJS
При увеличении количества проектов в компании, разработчики сталкиваются с задачей унификации кодовой базы. Решением подобной задачи может быть библиотека, фреймворк или общий набор компонент. Такой инструмент позволит разработчикам сконцентрироваться только на новых задачах, избежать дублирования кода и повысить производительность.
В HeadHunter с такой задачей столкнулись в 2014 году. Решением данной проблемы стало создание унифицированной библиотеки компонент, которая успешно используется на всех проектах HH. В своем докладе я хотел бы поделиться опытом развития библиотеки, проблемами, которые возникали при разработке, и их последовательным решением.
"Во все тяжкие с responsive images", Павел Померанцев, MoscowJS 29MoscowJS
Разработчики давно ищут способы оптимизации размера изображения без потери качества. Если вы готовы пуститься во все тяжкие, я расскажу как это сделать. Профит гарантирован!
"AMP - технология на три буквы", Макс Фролов, MoscowJS 29MoscowJS
Для большинства пользователей мобильный интернет полон боли и страданий. При том что пользователей становится только больше — проблема не решается, а становится острее. Вас ожидает увлекательнейший доклад о том, как удалось разогнать до космической скорости мобильную Lenta.ru.
2. Я расскажу про PJAX
‣ PJAX = pushState + AJAX
‣ существует с 2011 года
‣ Есть Turbolinks для Rails и аналоги для
Express, Django, Laravel и других
‣ Активно используется GitHub и Basecamp
‣ Незаслуженно забыта
2
9. PJAX крут
‣ Экономия: нет загрузки и парсинга CSS/JS
‣ Визуально быстрее
‣ Ссылки не ломаются!
• Подменяем URL через HTML5 History API,
• Для старых браузеров – обычный переход по ссылке
‣ Progressive enhancement в чистом виде
9
10. Традиционные веб-приложения
‣ "честный" GET / POST с перезагрузкой страницы
‣ шаблонизацию и логику отображения делает сервер
‣ JavaScript только для улучшения интерфейсов
‣ таких приложений большинство
10
11. Только SPA
‣ быстрый отзывчивый интерфейс
‣ работа со сложными моделями на клиенте
‣ offline
11
12. Только SPA
‣ онлайн-редакторы: Google Docs, редакторы UI
‣ мессенджеры: Gmail, Slack, FB messenger
‣ offline: Gmail, Google Calendar, Pocket, Google Keep
12
13. SPA для техдира
‣ 2 приложения вместо 1
‣ +1 язык разработки
‣ +1 фреймворк: для приложения
‣ +N библиотек: роутинг, тестирование, деплой, etc
‣ backend нужно переписывать
‣ выделить команду
13
14. SPA для техдира
В итоге:
‣ работы прибавится
‣ риски возрастут
‣ ресурсы прежние
!
Прагматичное решение – разрабатывать по-старинке
14