- Особенности разработки PhoneGap-приложения
- Сложности и подводные камни: к чему нужно быть готовым и что держать в голове
- Подготовка материала для разработчика ― style guide и шрифтовые иконки
- Концептуальные модели
- Типология и методология дизайна систем
- Уровни детализации: функциональные блоки и навигационные карты
- Теория на практике: систематизация данных с минимумом правок
- Особенности разработки PhoneGap-приложения
- Сложности и подводные камни: к чему нужно быть готовым и что держать в голове
- Подготовка материала для разработчика ― style guide и шрифтовые иконки
- Концептуальные модели
- Типология и методология дизайна систем
- Уровни детализации: функциональные блоки и навигационные карты
- Теория на практике: систематизация данных с минимумом правок
Мы рассмотрим область применения, архитектуру и основные особенности такой известной операционной системы как Android. Также расскажем о процессе создания мобильного приложения TulaDev, о проблемах с которыми мы столкнулись и о способах их решения. Вы можете найти приложение для Android <a>на Google Play</a>
XSS is one of the main and common types of vulnerabilities in a web application. This vulnerability allows an attacker to inject his script into your application. According to statistics, 40% of companies that have passed through scanners have this vulnerability. In the OWASP Top 10 ranking, she is in 7th place. All this belongs to the class. Supporting tools will be EF.
JavaScript-модули "из прошлого в будущее"oelifantiev
Доклад на первом Ярославском форнтэнд-митапе.
Рассказ об имеющихся методиках описания модулей в JavaScript а также о грядущем стандарте ES6 и, наконец-то, нативной поддержке модулей языком.
Секционный доклад
Экскурс в мир WEB разработки
Дмитрий Лаабе
Генеральный директор и основатель рекрутинговой компании IT-Доминанта
Технический директор и программист
портала Айти-Событие
Россия. Санкт-Петербург
http://it-sobytie.ru/events/3120
Мы рассмотрим область применения, архитектуру и основные особенности такой известной операционной системы как Android. Также расскажем о процессе создания мобильного приложения TulaDev, о проблемах с которыми мы столкнулись и о способах их решения. Вы можете найти приложение для Android <a>на Google Play</a>
XSS is one of the main and common types of vulnerabilities in a web application. This vulnerability allows an attacker to inject his script into your application. According to statistics, 40% of companies that have passed through scanners have this vulnerability. In the OWASP Top 10 ranking, she is in 7th place. All this belongs to the class. Supporting tools will be EF.
JavaScript-модули "из прошлого в будущее"oelifantiev
Доклад на первом Ярославском форнтэнд-митапе.
Рассказ об имеющихся методиках описания модулей в JavaScript а также о грядущем стандарте ES6 и, наконец-то, нативной поддержке модулей языком.
Секционный доклад
Экскурс в мир WEB разработки
Дмитрий Лаабе
Генеральный директор и основатель рекрутинговой компании IT-Доминанта
Технический директор и программист
портала Айти-Событие
Россия. Санкт-Петербург
http://it-sobytie.ru/events/3120
Чеботарев Андрей: "Внедрение дизайна без потерь"MobiDev
- Методы работы дизайнеров с разработчиками
- Подготовка макетов и документации с целью минимизации ошибок
- Работа с изменением требований
- Внедрение нового функционала в существующий проект
Бурика Станислав: "Забористый дизайн для POS"MobiDev
- Особенности взаимодействия пользователя и POS на примере приложения для баров
- Потребности пользователя, цели бизнеса и технические ограничения
- Как хороший дизайн интерфейса может улучшить эффективность продукта
Загоровская Екатерина: "Не рисковать и все учесть"MobiDev
- Грамотный прогноз времени на разработку дизайн-продукта и учет возможных рисков
- 10 практических лайфхаков: как оценить все правильно, уложиться в эстимейт и не подставить команду
- Осознанная и неосознанная компетентность
- Обучение менти и развитие ментора
- Шаринг знаний (опыта) и развитие карьеры
- Прививка от звездной болезни
В своем докладе я расскажу об этапах проектирования интерфейсов, об основных типажах заказчиков в аутсорсе - почему заказчик идиот. А так же как адаптировать процесс проектирования к этим типажам.
Заказчики и общение с ними, распределение рабочего времени и совмещение должностей, работа под психологическим давлением, и многое другое, что встретилось за время двухлетней работы в аутсорсе.
где найти кнопку вложить душу в аутсорс конвеереMobiDev
- Выполняя на первый взгляд простые и бессмысленные задачи, как быть первым и лучшим.
- Где черпать вдохновение и оазисы мотивации.
- Кто друг, а кто враг дизайнера в мире аутсорса.
When do mobile applications enhance business?MobiDev
There are many tools for business nowadays. Mobile technology is just one of them. As with every tool for every purpose, you need to choose a right tool for the right purpose to succeed. If you are an owner of a small or middle business, an innovator, a startup owner who has come up with the idea of establishing mobile presence, you need to handle these tools carefully. Maybe you want to enhance your business with a mobile product. Maybe you want to build your business on such a product. But what you need is the same - find a solid profitable niche, broaden the client audience, and know more about the pitfalls that are waiting around the corner, in order to avoid them.
How To Create One App For All Platforms using PhoneGapMobiDev
Tips and Tricks from one of the best European PhoneGap Senior Developers.
You can often hear users' complaints about lagging apps. When you ask, “What do you mean by lagging?”, you receive such answers as either “It runs too slowly” or “I don't know, but it's hard to use”. Software developers and mobile users perceive apps differently. In order to eliminate lags, we would first think of optimizing the speed of the app. But in some cases it wouldn't be a correct decision. Let's find out the reason why.
Solutions mobiles et web personnalisées de classe mondiale pour votre entreprise. Expertise reconnue et les dizaines de projets menés à bien. Cycle complet du développement des produits et support logiciel. Processus du développement logiciel agile selon les standards de corporation.
Avantages pour vous:
- augmentez votre ROI par l'amélioration de la valeur et la diminution du prix
- facilité et confort de la communication
- obtenez la flexibilité dans le management de votre équipe
- génération des idées nouvelles pour l'amélioration de votre produit logiciel
- partenaire fiable
2. О себе:
В IT с 2001 года
Мобильной разработкой увлекаюсь с 2009 года
Участвовал в разработке:
- более полутора десятков программ под
андроид (от 4 до 1 700 000 инсталляций)
- около двух десятков кроссплатформенных
приложений (JavaScript/HTML)
3. О чем сегодня поговорим:
Оптимизация работы с сетью
- file loading (JS, CSS), data API optimization
Оптимизация визуальной части
- render tree optimization (reflow, repaint)
Оптимизация невидимых механизмов браузера
- DOM optimization (excess DOM, custom events, DOM manipulation)
Оптимизация кода
- JS Optimization (GC, Object Pools)
4. Что такое «веб-приложение»?
Веб-приложение: клиент-серверное приложение,
в котором клиентом выступает браузер,
а сервером — веб-сервер?
веб-сайты: предоставляют информацию пользователю
(http://cnn.com и http://php.net)
веб-приложения: позволяют пользователю совершать
какие либо действия (Google Analytics, Gmail и JSLint)
6. Грузим файл
данные загружаются по медленным сотовым сетям
Времени на парсинг уходит гораздо больше, чем на десктопе, не только в связи
с меньшей процессорной производительностью, но и в связи с «оптимизацией».
данные передаются пакетами
Размер пакета: ≈1160 байт. В сотовых сетях высокий уровень помех.
Как следствие, пакет повреждается и перезапрашивается.
7. Особенности работы
сетевых передатчиков
в мобильном устройстве (3G)
Потребляет много энергии (второе место после экрана)
3 основных состояния:
DCH - полная мощность
FACH - половина мощности
IDLE
Переход IDLE→DCH занимает примерно 2 секунды
8. Стратегия использования сети
в мобильных устройствах
Посылаем реже и больше
Используем ключевые события
(например, onunload или applicationDidEnterBackground)
A Call for More Energy-Efficient Apps
http://www.research.att.com/articles/featured_stories/2011_03/201102_Energy_efficient
Используем асинхронную загрузку с умом
13. Reflow — пересчёт геометрии объектов
Repaint — перерисовка объектов
Очень дорогие операции
Reflow может срабатывать несколько
раз в ходе выполнения скрипта
14. Repaint:
visibility
colour
outline and other visual style properties
Reflow:
insert, remove or update an element in the DOM
modify content on the page, e.g. text in an input box
move a DOM element
animate a DOM element
take measurements of an element such as offsetHeight or getComputedStyle
change a CSS style
change the className of an element
add or remove a stylesheet
resize the window
scroll
17. Компоновка
Система "грязных битов":
Dirty
Children are dirty
Глобальная (синхронная):
Глобальное изменение стиля, который используется во всех объектах отображения,
например, изменение шрифта
Изменение размеров экрана
Инкрементная компоновка (асинхронная):
Остальное
18. 1. Родительский объект отображения определяет собственную ширину.
position — выносит в один проход, float — выносит в несколько проходов.
2. Родительский объект отображения обрабатывает дочерние элементы:
определяет положение дочернего объекта отображения (задает его координаты x и y);
вызывает компоновку дочернего элемента (если он помечен как "грязный",
если выполняется глобальная перекомпоновка и т. д.);
в результате чего рассчитывается его высота.
3. На основе суммарной высоты дочерних элементов, а также высоты полей и отступов
рассчитывается высота родительского объекта отображения:
она требуется его собственному родительскому объекту.
4. Биты больше не помечаются как "грязные".
Процесс компоновки
21. На CPU оперируем DOM-объектами, на GPU — текстурами
Переход CPU→GPU занимает время
Переход на GPU - всегда отдельный repaint
Увеличивается потребление памяти
Можно «случайно» перенести на GPU ненужные элементы
* { transform: translateZ(0) } - зло!
Проблемы
22. Анимируем элементы с position: absolute|fixed
Используем GPU-анимации
Заранее переносим анимируемые слои на GPU
Стараемся использовать CSSTransitions/Animations
Стратегии для правильной анимации
24. Время манипуляции с DOM
зависит от его объема
3 elements = 0.003 ms
1000 elements = 0.03 ms
10000 elements = 0.36 ms
+ JQuery = 2.46 ms
25.
26. В JavaScript нет ручного управления памятью
Этим занимается GC
GC работает в основном потоке
Требуется несколько проходов GC для очистки памяти
GC в JavaScript