Что нового для мобильных разработчиков в Visual Studio 15.6 Preview

Хабр, привет! Меня зовут Ромуальд (можно просто Роман) Здебский. Я больше 11 лет работаю в Microsoft. В последние годы помогал ключевым партнерам Microsoft в выпуске популярных игр и приложений для платформы Windows, например клиентов ВКонтакте для Windows Store, таких игр как World Of Tanks Blitz, Cut The Rope 2 и многих других. С технологической точки зрения много занимался XAML-фреймворками и технологиями доступа к данным. Сейчас сферой моих технологических интересов является разработка мобильных приложений с помощью Visual Studio и Xamarin, технологии доступа к данным в Azure, CosmosDB и др. В прошлом месяце мы выпустили Visual Studio 2017 15.5 с новыми возможностями, включая эмулятор iOS Remoted Simulator, доступный всем разработчикам, средство просмотра XAML в режиме реального времени в эмуляторах Android с помощью Xamarin Live Player, новые шаблоны проектов Xamarin.Forms для .NET Standard и усовершенствованный механизм связывания с Mac. В январе стала доступна предварительная версия Visual Studio 2017 15.6. В этой статье мы обсудим, что было добавлено в эту версию, включая подготовку среды macOS сборки проектов, развертывание на iOS через Wi-Fi, просмотр интерфейса на базе XAML в эмуляторе Remoted iOS Simulator в реальном времени и многое другое. ...Далее...

[Из песочницы] VIPER и UITableView/UICollectionView с простыми ячейками

Доброго времени суток!

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

Простые и сложные ячейки


Я разделяю ячейки на простые и сложные.

Простые ячейки — это такие ячейки, которым для выполнения своего предназначения достаточно отображать некоторые данные (текст, картинка) и отвечать простыми действиями на действия пользователя.

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

В данной статье речь пойдет о таблице с простыми ячейками.

Проблема


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

В поисках идеальной архитектуры

image
За 9 лет работы фич в проектах роботов становилось все больше, запутаться в коде становилось все проще.
Когда разработчиков стало больше десятка, появилась еще одна проблема – болезненная ротация людей между проектами. Аутсорс-разработка славится жесткими дедлайнами, и у разработчиков нет месяцев или недель на погружение в особенности нового проекта, в то же время работа над разными проектами нужна для развития специалистов.
Главная проблема, которая возникает при долгосрочном развитии приложения – масштабируемость. Решить ее может переход на новую архитектуру или рефакторинг кодовой базы и добавление новых сущностей, которые разгружают объекты с большим количеством обязанностей.
Читать дальше →

Анонс конференции Mobius 2018 Piter



В мобильной разработке так бурлит жизнь, что порой это даже становится проблемой. Например, когда всё движется и меняется, как в анонсе конференции описать её программу за пять месяцев? Но хотя многие подробности Mobius 2018 Piter станут известны позже, есть те, которые мы уже готовы рассказать — и их может хватить для принятия решения.

Для начала озвучим дату: 20-21 апреля 2018 года, Санкт-Петербург. Остальное — под катом.
Читать дальше →

[Перевод] Нейросеть для определения лиц, встроенная в смартфон

Apple начала использовать глубинное обучение для определения лиц начиная с iOS 10. С выпуском фреймворка Vision разработчики теперь могут использовать в своих приложениях эту технологию и многие другие алгоритмы машинного зрения. При разработке фреймворка пришлось преодолеть значительные проблемы, чтобы сохранить приватность пользователей и эффективно работать на железе мобильного устройства. В статье обсуждаются эти проблемы и описывается, как работает алгоритм.

Введение

Впервые определение лиц в публичных API появилось во фреймворке Core Image через класс CIDetector. Эти API работали и в собственных приложениях Apple, таких как Photos. Самая первая версия CIDetector использовала для определения метод на базе алгоритма Виолы — Джонса [1]. Последовательные улучшения CIDetector были основаны на достижениях традиционного машинного зрения. С появлением глубинного обучения и его применения к проблемам машинного зрения точность систем определения лиц сделала значительный шаг вперёд. Нам пришлось полностью переосмыслить наш подход, чтобы извлечь выгоду из этой смены парадигмы. По сравнению с традиционным машинным зрением модели в глубинном обучении требуют на порядок больше памяти, намного больше дискового пространства и больше вычислительных ресурсов. Читать дальше →...Далее...

[Перевод] Swift не нужен?

Не перестаю задаваться вопросом — какие у Apple планы на Swift и Objective-C? Когда в 2014 году появился Swift, его создатель Крис Латтнер утверждал, что эти два языка смогут сосуществовать бесконечно долго. Из почтовой рассылки пользователям Xcode:
3 Июня 2014 McLaughlin, Michael P. Кто-нибудь знает, действительно ли Apple собирается прекратить поддержку С и С++? Fortran уже не поддерживается, хотя осталось еще много кода на Fortran, и сравнительно нового, как в MultiNest. Пожалуйста, скажите, что это не так. Не все считают, что «опытные пользователи» — это те, кто просто создает полнометражные мультики. Многие из них ученые и инженеры. Здравствуйте, Michael, Мы не строили планы на что-либо подобное. Swift — это просто новый вариант разработки под платформу. Мы не собираемся прекращать поддержку ни C, ни C++, ни Objective-C. Если вы разрабатываете на одном из этих языков, можете свободно продолжать его использовать. — Крис.
Оригинальный текст письма
> On Jun 3, 2014, at 5:45 AM, McLaughlin, Michael P. <mpm...@mitre.org> wrote: > Does anyone know, for real, if Apple intends to stop supporting C and C++? > That’s what it sounded like. They already do not support Fortran even though > there is a *lot* of Fortran code out there, even fairly new code like MultiNest. > > Please say it isn’t so. Not all of us consider “power users” to be just those > who create feature-length cartoons. Many are scientists and engineers. Hi Michael, We have no plans to do anything like that. Swift is a new option for developing on the platform. We have no plans to drop C, C++ or Objective-C. If you’re happy with them, please feel free to keep using them. -Chris
...Далее...

Как математическая библиотека КОМПАС-3D превратилась в C3D Toolkit для разработчиков САПР → часть 2

В первой части статьи мы рассказали о геометрических ядрах в общем и объяснили, в чём их отличие от игровых графических движков. Далее представляем наше собственное 3D-ядро для работы с точной геометрией и тот программный продукт, который в итоге получился.

История российского геометрического ядра C3D


Началом работ над геометрическим моделированием в КОМПАС-3D официально считается 1995 год, именно тогда Николай Николаевич Голованов с группой коллег из коломенского офиса АСКОН заложили первые математические основы будущего ядра. Потребовалось четыре года, чтобы превратить математические алгоритмы в первый жизнеспособный продукт. С тех пор геометрическое ядро постоянно эволюционирует, обеспечивая функциональное развитие КОМПАС-3D и целого ряда других программных решений в России и за рубежом.

Scott Voltage Bike FR20

Велосипед Scott Voltage FR20, спроектированный в КОМПАС-3D с использованием геометрии C3D (автор модели: Алексей Богданов, г. Полтава)
Читать дальше →

Разработка мобильных приложений с помощью SAP Cloud Platform SDK для iOS, часть 1

В прошлом году SAP и Apple объявили о начале стратегического сотрудничества. Весной этого года SAP выпустил SAP Cloud Platform SDK для iOS – набор инструментов для создания корпоративных приложений, которые сочетают требования корпоративной среды и стандарты приложений для iOS.
В нескольких постах в нашем блоге мы расскажем о том, что такое SAP Cloud Platform SDK для iOS, какие функции и сервисы он поддерживает, а также как помогает разработчикам мобильных приложений ускорить подготовку и запуск корпоративных приложений для iOS.
image
Читать дальше →

Libdispatch. Как сделать приложение отзывчивым

image

Для повышения отзывчивости приложения необходимо грамотно разбивать выполнение задач на несколько потоков. Набор технологий в руках iOS-разработчика представляет из себя следующее. Способы представлены по возрастанию уровня абстракции.

  • Pthreads, или потоки POSIX. Библиотека для низкоуровневой работы с многопоточностью. Определена как набор типов и функций на языке C. Подробнее можно ознакомиться тут.
  • Background selectors. Это отправка сообщения объекту, которое будет исполнено на указанном потоке. В коде это селектор с названием performSelector и различными параметрами (например, performSelectorOnMainThread:withObject:waitUntilDone:). Документация
  • NSThread. Представлены как базовые средства для работы с потоками. Ознакомьтесь с концептуальным документом по работе с потоками и документацией.
  • Grand Central Dispatch. Библиотека, основанная на блоках — анонимных участках кода, иначе замыканиях. Рабочее название — libdispatch...Далее...

Анонс Mobius 2017 Moscow: покорение Москвы



Нас просили об этом, и теперь час настал. Конференция по мобильной разработке Mobius, давно и успешно проходящая в Петербурге, 11 ноября впервые придёт в Москву. Потребность в этом явно назрела: этой весной, проводя четвёртый петербургский Mobius, мы обнаружили, что около трети всех зрителей оказались москвичами.

Что можно ожидать от первого столичного Mobius? Имена спикеров и другие подробности — под катом.

Читать дальше →
  • Новее
  • 1


Последние посты