Pull to refresh
1
0
Send message

Подготовка графики для iOS-приложений

Reading time2 min
Views42K
Недавно я писала о том, как готовить графику для Android, какие сложности возникают во время нарезки и как сделать так, чтобы приложение на выходе полностью соответствовало дизайну. Теперь я делюсь опытом и по iOS. В e-Legion мы работаем с пакетом Adobe и для нарезки графики используем Illurstator.



Читать дальше

Создание шорткодов в WordPress CMS

Reading time6 min
Views48K


Что такое шорткоды

Начиная с версии 2.5, разработчики WordPress ввели понятие «Shortcodes API». Этот функционал позволяет создавать и использовать макрокоды в страницах сайта или в записях блога. Например, простая и короткая запись добавит на странице целую фотогалерею.

Более подробно прочитать о шорткодах и узнать, как создавать простые шорткоды, вы можете из документации WordPress.

В статье хочу показать, как правильно создавать более сложные шорткоды и решить наиболее распространенные проблемы при их создании:
  1. Подключение сторонних скриптов и запуск только при наличии шорткода на странице.
  2. Многоуровневый шорткод.
    • Составной шорткод.
    • Вложенность шорткодов.


Читать дальше →

Кастомизация ручной сортировки UITableView на Xamarin

Reading time3 min
Views3.6K
В данной статье будет рассмотрен способ модификации UITableView для переноса ячеек таблицы. Вспомним, что Apple нам предлагает тягать ячейки за строго отведенное место:

image

Не знаю с чем это связано, но мне это не понравилось, поэтому было решено потратить некоторое время на решение данной проблемы, прошу под кат.
Читать дальше →

Фреймворк для валидации данных в iOS приложениях

Reading time4 min
Views7K
«В нашей компании особое внимание мы уделяем качеству выпускаемого продукта», – шаблонная фраза, которую часто можно увидеть на сайтах компаний, предлагающих различные услуги, и не только в сфере IT. Однако то, как достигается качество программного продукта, скрыто от пользователей и волнует их только в моменты, когда что-то пошло не так. Одним из качественных показателей работы приложения является то, как оно реагирует на нестандартные действия пользователя. Для большинства клиент-серверных решений эти действия связаны с вводом данных. Далее мы опишем, какие решения для проверки данных используются среди iOS разработчиков в нашей команде.
Читать дальше →

Работа с формами в Webix UI

Reading time7 min
Views24K


Создание форм с помощью чистого HTML задача довольно тривиальная и подробно обсуждается в каждом уважающем себя учебнике. Но все становится куда сложнее, если вам нужно, например, разнести элементы формы по нескольким табам. В этом случае без фреймворка не обойтись. В этой статье я расскажу, как можно создать сложные веб-формы с помощью UI-фреймворка Webix.

Читать дальше →

Универсальный JavaScript

Reading time2 min
Views28K
В начале был Netscape. И возжелал Netscape выполнять Scheme-код в браузере Netscape Navigator. И наняли они Брендана Айка (Brendan Eich), чтобы он в поте лица своего работал над этим. Но потом они передумали и решили, что Java хотят они. И вот, рождён был JavaScript. И было это (достаточно) хорошо.

Безумная идея овладела Райаном Далом (Ryan Dahl) годы спустя: подружить движок V8 с библиотекой libev, дабы могли программисты выполнять свой JavaScript-код за пределами браузера. И возник Node.js. И npm. И люди возрадовались.

И стали люди писать веб-сервера на JavaScript, и запускать вертолёты с JavaScript на борту, и водружать его на планшеты и смартфоны, и встраивать его в термостаты и холодильники, да и во всё, во что их душа желала. И распространился JavaScript весьма и весьма широко. И презирали Нормальные Программисты™ (Serious Developers) простых людей, пишущих на JavaScript, но простые люди продолжали писать на JavaScript всё больше и больше.

И ждали люди Слово, способное вместить в себя всю широту проникновения JavaScript, ибо слово «JavaScript», как оно есть, более не вмещало той широты. И изрёк Чарли Роббинс (Charlie Robbins) мысль, что термином «Isomorphic JavaScript» можно назвать JavaScript-код, выполняющийся и в браузере, и на сервере. И никто нафиг не понимал значения сего, но, вместо просто программирования на JavaScript, люди стали программировать на изоморфном JavaScript.

Секундочку, что?
Читать дальше →

Калькуляция высоты ячейки в динамической таблице UITableView

Reading time3 min
Views10K
Всем доброго времени суток, недавно столкнулся с такой проблемой, что при записи текста (длинного текста) в ячейку таблицы, её Label не увеличивается пропорционально объёму текста, то есть если там 3 слова, то все хорошо, но если записать туда 3-4 предложения, то появится примерно вот такая штука.



Недельный поиск решения проблемы оказался все таки успешным и сегодня постараюсь объяснить вам, как именно решать данную проблему.
Читать дальше →

Практические советы по повышению производительности HTML и JavaScript

Reading time2 min
Views31K


Тема улучшения производительности сайтов и приложений всегда должна находиться на радаре у хорошего веб-разработчика. В одних случаях грамотная работа позволяет сэкономить вычислительные ресурсы, в других — сильно улучшить опыт работы с приложениями для всей аудитории пользователей, как это на днях случилось с Wikipedia. А часто и все сразу.

Скорость работы веб-приложений условно зависит от трех составляющих: 1) как устроена сетевая инфраструктура, через которую доставляются данные и код, 2) как работает браузер и 3) как, собственно говоря, написан ваш код, который браузер должен исполнять.

Все три компоненты постоянно улучшаются и оптимизируются. Например, в сетевом стеке определенные общие улучшения несет переход на HTTP 2.0. С точки зрения браузеров, все производители постоянно работают над улучшением своих движков. В случае Chakra в Microsoft Edge, помимо общего повышения производительности работы с JavaScript, мы добавляем поддержку специализированных средств вроде Asm.js и SIMD.js, призванных повысить эффективность кода в специфичных сценариях (в Firefox и Google Chrome — аналогично).

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

Наши коллеги Дорис Чен и Джон-Дэвид Далтон подготовили целый курс с практическими советами по улучшению производительности вашего кода на HTML и JavaScript. Вы можете посмотреть его на соответствующей странице в Microsoft Virtual Academy или под катом в виде отдельных роликов.

Читать дальше →

Управляем зависимостями в iOS-приложениях правильно: Typhoon Tips & Tricks

Reading time14 min
Views8.3K


В предыдущих частях цикла мы рассмотрели основные аспекты работы Typhoon и подготовились к полноценному применению его на практике. Тем не менее, помимо затронутых тем, фреймворк предоставляет большое количество других функций.
Читать дальше →

BEMIT: Следующий шаг в развитии BEM по версии Гарри Робертса

Reading time5 min
Views7.3K
Все, кто следил за мной или моей работой на протяжении какого-либо времени, бесспорно знают, что я огромный фанат соглашения о наименованиях БЭМ. То, о чем я расскажу в этой статье, является не альтернативным или другим соглашением о наименованиях БЭМ, а дополнением к нему: небольшими добавками, которые поднимут БЭМ на ступеньку выше. Этот расширенный синтаксис БЭМ окрестили BEMIT, так как он включает некоторые парадигмы и шаблоны из (еще неопубликованной) архитектуры CSS в виде перевернутого треугольника (ITCSS). BEM + ITCSS = BEMIT.

Вспомним, что такое БЭМ – он работает за счет разбивки всех классов в базе кода на три группы:
Читать дальше →

Пример работы с технологией iBeacon с помощью Swift

Reading time4 min
Views14K
Учитывая возрастающий интерес к использованию Bluetooth маячков в различных областях начиная от чипирования животных, навигации в музейной экспозиции и заканчивая наиболее востребованной функцией уведомлений по акциям в магазинах, мы в Techmas подготовили введение для их внедрения на практике. Возможно, кому-нибудь из разработчиков, кто только планирует создавать свои приложения и еще не знает с чего начать, инструкция ниже поможет разобраться с основными понятиями и возможностями технологии. Несмотря на то, что уже существует набор SDK для работы с маячками, мы используем только Swift и библиотеки CoreLocation и CoreBluetooth.



Читать далее

React boilerplate — Rocket React

Reading time3 min
Views18K
image

Хочу представить вашему вниманию boilerplate (skeleton) на базе React.js + Backbone для быстрого старта разработки приложения любой сложности. Эта связка помогла нашей команде в срок сделать сложное приложение с минимальным количеством проблем а простота позволила быстро подключать новых разработчиков в процесс.
Читать дальше →

Разработка через тестирование в iOS

Reading time11 min
Views26K

Содержание:


  • Разработка через тестирование – что это?
  • Три закона TDD
  • Примеры применения
  • Преимущества и недостатки
  • Литература и ссылки


Разработка через тестирование – что это?


Разработка через тестирование (Test-driven development) — техника разработки программного обеспечения, которая определяет разработку через написание тестов. В сущности вам нужно выполнять три простых повторяющихся шага:
— Написать тест для новой функциональности, которую необходимо добавить;
— Написать код, который пройдет тест;
— Провести рефакторинг нового и старого кода.

Мартин Фаулер



Читать дальше →

Режим читателя: Пагинация в мобильных email-письмах

Reading time9 min
Views5.8K
В блоге FreshInbox опубликован пост об интересной экспериментальной техники реализации пагинации в письмах мобильных почтовых рассылок. Ее использование позволяет создавать письма, получатели которых могут перемещаться по контенту без необходимости скроллинга.

Развитие адаптивного дизайна сделало чтение писем на мобильных устройствах легче. С другой стороны, побочным эффектом стал тот факт, что для чтения «массивных» писем теперь нужно много скроллить. В итоге до конца послания добираются только самые стойкие читатели. Если дать людям возможность быстрой навигации по письму, это бы значительно улучшило ситуацию.



Описываемая техника работает только в почтовом приложении Mail для iPhone (версия для Android в разработке).
Читать дальше →

Идем на рекорд: как мы оптимизировали прикрепление изображений в Почте Mail.Ru для iOS

Reading time4 min
Views13K


По внутренней статистике Почты Mail.Ru, 80% файлов, отправляемых по email — изображения. Мы и сами каждый день шлём десятки макетов, прототипов и скриншотов. Конечно, мы захотели сделать такой распространенный сценарий удобнее, и нам это удалось. В результате отправлять фото и видео из нашего iOS-приложения стало гораздо удобнее и быстрее, чем у конкурентов. Например, чтобы прикрепить к письму три фотографии, в Почте Mail.Ru нужно всего пять нажатий. Это на 10 меньше, чем в Gmail, и на целых 13 — чем в Apple Mail. Под катом рассказ о работе над этой задачей, от возникновения идеи до её воплощения, а также несколько тяжелых гифок.
Читать дальше →

Умный дом или игрушка для мужчин (продолжение №2): комфорт

Reading time7 min
Views27K
Предыдущие статьи (1 и 2) вселили в меня уверенность, что тема интересует не только меня. Вот я и решил продолжить эту тему. Следующее по порядку: комфорт. «Порядок» беру из википедии, т.к. согласен с ее определением.

Для России на первом месте —
комфорт и имидж.
Для Европы —
прежде всего энергосбережение и только потом комфорт.

Понятно, что с нашим рублем окупаемость умного дома существенно хуже, чем в Европе. Хотя и не только умного дома… Оборудование в валюте, энергоресурсы — в рублях. Но это тема другая.

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

Сейчас лето. Зима не за горами. У нас в Санкт-Петербурге достаточно тепло, можно не догревать дом. Но готовиться к зиме уже пора. Мы строили дачу специально для того, чтобы зимой по выходным приезжать туда, а также на Новый год и на другие праздники.

Картинка ниже расскажет о возможности точно фиксировать температуру в доме.



График состоит из 2-х частей: сверху затраты на электричество в Ваттах, снизу — 2 кривых: зеленая — температура на улице, синяя — в помещении. График выбран за 5 дней. Октябрь 2014, Ленинградская область. Температура на улице от -7 до +10 по Цельсию. Температура в помещении — фиксированная — 9 градусов. Точность при низких температурах на улице составляет 0,03 градуса. В данном случае на улице +10, поэтому в помещении — 9,05 градусов. Затраты на электричество оптимальны. Ничего лишнего, но вполне достаточно. 9 градусов установлено, т.к. помещение с водой.
Читать дальше →

Умный дом или игрушка для мужчин

Reading time4 min
Views30K
Начать статью про умный дом хочется с определения из Википедии. Но это вы и сами знаете можете почитать. Хочется сказать, что система умный дом позволяет экономить деньги. Но и это уже не так, с нашим-то рублем. Ну, тогда уж точно приходишь к выводу, что умный дом — это комфорт.

Вот тут то и можно приостановиться. Да, умный дом позволяет добиться комфорта. Если раньше жена ночью несколько раз вставала, чтобы подкрутить реле обогревателя то в одну, то в другую сторону, то теперь смысла в этом нет никакого, т.к. отклонения от заданных температур находятся в диапазоне 0,03С. Появился комфорт. Приезжаем на дачу, дом уже прогрет, бойлер прогрелся ночью, термоспот вскипятил воду и много всяких других приятностей.



Температура за бортом в течение недели прыгает от -10С до +1С. В доме, в зависимости от типа обогревателя отклонения от заданных температур находятся в диапазоне от 0,03С до 0,2С.
Читать дальше →

Генерируем номер версии и билда на иконке iOS приложения

Reading time2 min
Views11K


В процессе разработки приложение тестируется, и бывает, что нужно знать, какая версия приложения и с каким номером сборки у тестировщика/другого участника процесса установлена. Например, баг уже исправлен, а человек новый билд ещё не поставил и сетует, что ничего не исправлено.

Зачастую эту информацию прячут где-нибудь, например, в приложении Яндекс.Маркет, нужно ткнуть в раздел Кабинет и выбрать пункт «О приложении»:

Пример

Для удобства (или потому, что этот экран ещё не готов), можно вынести эту полезную информацию прямо на иконку приложения.
Читать дальше →

Средства домашней автоматизации. Теория и практика «Умных домов». Часть третья

Reading time8 min
Views8.7K

Первая часть тут.
Вторая часть тут.
Ну вот и добрались до реализации проектов. В этой части я опишу личный опыт и трудности реализации средних и больших проектов по домашней автоматизации. Эта часть длинная, но на мой взгляд наиболее ценная с практической точки зрения. В ней я постарался изложить все важные моменты и описать те «грабли» с которыми сталкивался лично.
Подробности под катом.
Читать дальше →

Information

Rating
Does not participate
Registered
Activity