Открыть список
Как стать автором
Обновить
0
Карма
0
Рейтинг
  • Публикации
  • Комментарии

Flutter Flavoring in a breeze

Разработка под iOSРазработка под AndroidFlutter
Tutorial

Хотелось ли вам иметь несколько версий одного приложения?

Чтобы одной командой вы могли собрать приложение под определенное окружение?

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

Всем привет!

Меня зовут Андрей!

И в этой статье я расскажу, как настроить сборку приложения для разных окружений.

Читать далее
Всего голосов 9: ↑7 и ↓2 +5
Просмотры1.8K
Комментарии 1

Создаём плагин Qt GeoServices на примере ОС Аврора, OpenStreetMap и Sight Safari

Открытая мобильная платформаПрограммированиеC++QtГеоинформационные сервисы

Привет, Хабр! Хотим рассказать о том, как создать плагин Qt GeoServices и использовать его в своём приложении на ОС Аврора. В этом посте мы подробно объясним, как научить приложение определять координаты устройства на карте и прокладывать оптимальные маршруты с помощью сервиса Sight Safari. Самые нетерпеливые могут пощупать готовый код плагина и демо-приложения на GitHub, всех остальных приглашаем под кат.

Читать далее
Всего голосов 2: ↑2 и ↓0 +2
Просмотры1K
Комментарии 0

Как основатель CoinBase сооснователя искал

Развитие стартапаКарьера в IT-индустрииНаучно-популярноеКриптовалюты
Перевод
Coinbase вышел на IPO при оценке $85 миллиардов. Основатель, Брайн Армстронг в 2012 году написал пост на HackerNews в надежде найти сооснователя.

image

Я бросаю здесь клич, потому что отчаянные времена требуют отчаянных мер.

У меня есть потрясающий прототип, который приносит новую технологию в массы, и я думаю, что у него есть хороший шанс изменить мир. YCombinator проявил интерес (я прошел на собеседование как сольный претендент в новый батч, но решил подождать, пока не найду сооснователя). Эта идея не будет свежей вечно (есть и другие люди, которые начинают изучать её), поэтому я хочу как можно скорее её реализовать с правильной командой. Но есть одна вещь, которая удерживает меня: я еще не нашел подходящего сооснователя.

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

«Свадьба под дулом пистолета» — не лучшая идея, но если вы тот самый человек, то мне все равно, как мы встретимся. Я собираюсь улучшить свои шансы найти тебя любым способом.

Так в чем же заключается моя идея?
Читать дальше →
Всего голосов 18: ↑12 и ↓6 +6
Просмотры3.7K
Комментарии 0

Повышаем качество кода с Dart Code Metrics

WrikeOpen sourceПрограммированиеDartFlutter

Dart Code Metrics — это инструмент статического анализа кода, который позволяет собирать метрики по коду и предоставляет дополнительные правила для анализатора. Основная задача — помогать разработчикам следить за качеством кода и улучшать его. В этой статье мы хотим поделиться возможностями инструмента с сообществом. Он помог нам в Wrike решить часть проблем на фронтенде, и, надеемся, поможет и вам.

Читать далее
Всего голосов 20: ↑20 и ↓0 +20
Просмотры2.6K
Комментарии 2

Dart на сервере

APIDart
Tutorial

Недавно столкнулся с необходимостью написать REST API сервер на Dart. Оставим за рамками этой статьи почему и зачем это было надо, но первое с чем я столкнулся - выбор библиотек. Так уж сложилось, что я привык писать на NodeJS используя KoaJS в качестве веб сервера. Простая и удобная библиотека с кучей расширений для любой необходимости. А вот Dart в этом плане несколько подкачал. На момент поисков из "живых" пакетов на pub.dev был только shelf. Что-то отдаленно похожее, но по факту жутко неудобное. Неделю промучившись с оным, понял, надо писать свое, с блэкджеком... что-нибудь в стиле того же KoaJS.

Читать далее
Всего голосов 9: ↑8 и ↓1 +7
Просмотры2.7K
Комментарии 15

Как работает Flutter

ПрограммированиеРазработка мобильных приложенийDartFlutter
Перевод


Как Flutter работает на самом деле?


Что такое Widgets, Elements, BuildContext, RenderOject, Bindings?..


Сложность: Новичок


Вступление


В прошлом году (прим: в 2018), когда я начал свое путешествие в сказочный мир Flutter, в Интернете было очень мало информации по сравнению с тем, что есть сегодня. Сейчас, несмотря на то, что уже написано много материалов, лишь небольшая их часть рассказывает о том, как на самом деле работает Flutter.


Что же такое Widgets (виджеты), Elements (элементы), BuildContext? Почему Flutter быстрый? Почему иногда он работает не так, как ожидается? Что такое деревья и зачем они нужны?


В 95% случаев при написании приложения вы будете иметь дело только с виджетами, чтобы что-то отображать на экране или взаимодействовать с ним. Но неужели вы никогда не задумывались, как вся эта магия работает внутри? Как система узнает, когда обновить экран и какие части должны быть обновлены?


Содержание:


Читать дальше →
Всего голосов 14: ↑13 и ↓1 +12
Просмотры23K
Комментарии 5

Как написать и опубликовать идеальный пакет для Flutter

Open sourceРазработка мобильных приложенийDartFlutter
Tutorial

Думаю, многие разрабочики хотя бы раз в жизни хотели поделиться своими наработками с сообществом. Уж точно все - пользовались тем, чем делятся другие. Мое мнение на этот счет примерно такое - если ты делаешь что-то для себя и можешь это сделать таким, чтобы этим могли пользоваться другие с, относительно, небольшим количеством трудозатрат - то делай это. К тому же, выставляя "напоказ" свои велосипеды - так или иначе, придется их хотя бы покрасить. Смазать цепь. А значит и в твоем проекте данное решение будет уже более качественным. Не буду углубляться в философию опен-сорса (простите меня, нелюбители английских слов, написанных по русски), поэтому перейдем сразу к делу.

Перейти к делу
Всего голосов 13: ↑13 и ↓0 +13
Просмотры2.3K
Комментарии 7

Ускоряем Dart. Нативно, недорого

ПрограммированиеDart

Релиз Dart 2.12 принёс, помимо всего прочего, поддержку FFI в стабильной версии, что позволит относительно легко добавить биндинги к своим любимым библиотекам, которые используют сишный ABI для экспорта. А это в том числе и Rust, Go, Swift и другие.

Но какой ценой?
Всего голосов 6: ↑6 и ↓0 +6
Просмотры1.8K
Комментарии 5

Энтерпрайз разработка с нуля

Национальный расчетный депозитарийПрограммированиеТерминология ITУправление разработкой


На днях у меня появилась довольно интересная идея для статьи, основанная на следующей предпосылке: на Хабре ни разу не рассказывали об организации энтерпрайз разработки "от и до". В плане совсем с нуля и хотя бы до комфортного минимума. За отправную точку я буду брать ситуацию полнейшего хаоса, когда какой-то код существует на машине единственного разработчика, нет системы контроля версий, нет тестовых сред, код объектов БД существует только внутри эталонной продуктивной базы данных, нет никаких процессов сборки и установки, контроля качества кода и так далее. Возможно читатель задастся вопросом "Такое бывает в 2020 году? Разве кто-то еще так разрабатывает?" и будете только отчасти правы. Предлагаю обсудить детали под катом.

Читать дальше →
Всего голосов 14: ↑12 и ↓2 +10
Просмотры4.5K
Комментарии 7

Регулярные выражения (regexp) — основы

Тестирование IT-системРегулярные выражения

Регулярные выражения (их еще называют regexp, или regex) — это механизм для поиска и замены текста. В строке, файле, нескольких файлах... Их используют разработчики в коде приложения, тестировщики в автотестах, да просто при работе в командной строке!

Чем это лучше простого поиска? Тем, что позволяет задать шаблон.

Например, на вход приходит дата рождения в формате ДД.ММ.ГГГГГ. Вам надо передать ее дальше, но уже в формате ГГГГ-ММ-ДД. Как это сделать с помощью простого поиска? Вы же не знаете заранее, какая именно дата будет.

Читать далее
Всего голосов 59: ↑51 и ↓8 +43
Просмотры35.8K
Комментарии 58

WebAssembly: что и как

Разработка веб-сайтовJavaScriptБраузерыWebAssembly


Эта статья основана на моём выступлении на конференции ITSubbotnik, прошедшем 2 ноября 2019 года в Москве.


Вообще я бэкенд программист, но меня заинтересовала эта технология, она позволяет использовать мои знания бэкенда на фронте.


Проблема


Начнём с проблемы, которая решается этой (относительно новой) технологией. Проблема эта — быстро исполнять код в браузере. Быстро — это значит, «быстрее чем JavaScript», в идеале настолько быстро, насколько позволяет имеющийся у нас процессор.

Читать дальше →
Всего голосов 62: ↑60 и ↓2 +58
Просмотры44K
Комментарии 136

1 год с Flutter в продакшне

Разработка мобильных приложенийDartFlutter
Перевод

Это текстовая версия моей презентации на DartUp 2020 (на английском). В ней я делюсь проблемами, с которыми мы столкнулись, обсуждаю наш архитектурный подход, рассказываю о полезных библиотеках, ну и отвечаю на вопрос, удачной ли была эта идея – взять и всё переписать.

Читать далее
Всего голосов 25: ↑25 и ↓0 +25
Просмотры12K
Комментарии 43

Магия асинхронных операций: взгляд изнутри. Future

Лига СтавокDartFlutter

Бу́дущее — гипотетическая часть линии времени, множество событий, которые ещё не произошли, но могут произойти.

Этот месяц может определённо пройти под девизом "Даёшь асинхронность!", на хабах Dart и Flutter. Неудивительно, ведь асинхронный и реактивный подход являются основой работы языка и фреймворка.

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

Читать далее
Всего голосов 13: ↑13 и ↓0 +13
Просмотры5K
Комментарии 4

C и C++: межъязыковые интерфейсы

RUVDS.comПрограммированиеC++C
Перевод
Как известно, C и C++ — это родственные языки между которыми есть много общего. Но их пути, с годами, расходятся всё сильнее. В общих чертах дело обстоит так: код, написанный на одном из этих языков, не может быть скомпилирован под видом кода, написанного на другом. Этому мешает множество больших и маленьких различий между языками. Причём, речь идёт не только о синтаксических различиях. Некоторые общие синтаксические конструкции могут иметь разную семантику. Поэтому обычно нет никакого смысла в том, чтобы компилировать код, написанный на C, с помощью C++-компилятора. Не стоит доверять тем, кто утверждает обратное.

Правда, есть одна сфера, где обычно наблюдается согласие между C и C++. Это — ABI (Application Binary Interface, двоичный интерфейс приложений). Структуры данных и функции одного языка могут быть, в той или иной мере, использованы в другом языке. C и C++, кроме того, достаточно сильно пересекаются в области спецификаций интерфейсов, вследствие чего один и тот же заголовочный файл можно использовать из кода, написанного на обоих языках.



В этом материале я постараюсь собрать то общее, что есть у C и C++ и предложу некоторые рекомендации, которые позволят достаточно хорошо сочетать эти языки. Это, правда, будет всего лишь рассказ, иллюстрирующий точку зрения C-программиста, который хочет создавать интерфейсы для C++.
Читать дальше →
Всего голосов 49: ↑43 и ↓6 +37
Просмотры9.8K
Комментарии 11

Как создать кастомный плагин для Dart-анализатора

WrikeOpen sourceПрограммированиеDartFlutter

Привет! Меня зовут Дима, я frontend-разработчик в компании Wrike. В этой статье я расскажу про то, как написать плагин для анализа кода на Dart. Текст будет полезен тем, кому не хватает текущей функциональности дартового анализатора по статическому анализу или если вам просто захочется попробовать написать простой анализатор самостоятельно.

Читать далее
Всего голосов 20: ↑20 и ↓0 +20
Просмотры1.2K
Комментарии 2

Работа с асинхронностью в Dart

SurfПрограммированиеРазработка мобильных приложенийDartFlutter

Всем привет! Меня зовут Дмитрий Репин, я Flutter-разработчик в Surf.

В этой статье я расскажу о том, как работать с асинхронностью в Dart: всё о самых важных классах библиотеки dart:async с примерами под катом. Поговорим о том, как в однопоточном языке сходить в сеть или базу данных и при этом не затормозить приложение.

Читать далее
Всего голосов 12: ↑11 и ↓1 +10
Просмотры4K
Комментарии 2

Что за зверь — аффинные преобразования?

МатематикаМашинное обучение
Из песочницы

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

Вы сможете? В любом случае, давайте немного обсудим этот вопрос.

Читать далее
Всего голосов 25: ↑17 и ↓8 +9
Просмотры11.8K
Комментарии 18

Мама, я хакер: пробуем вскрыть приложение на Flutter

Лига СтавокDartFlutter
Из песочницы

RFC 1983

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

Читать далее
Всего голосов 18: ↑17 и ↓1 +16
Просмотры7.9K
Комментарии 3

Flutter. Как прокачать ваш BLoC

Flutter
Из песочницы
Реализующих BLoC паттерн библиотек много. Но та, о которой я расскажу, необычная, и называется isolate_bloc.

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

В чем проблема обычного bloc-а?


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

С первой проблемой могут помочь библиотеки по типу simple_bloc или cubit. Со второй — изолят, или обертка над ним — Compute. В принципе это действительно хорошая связка, которую используют многие, но даже она решает не все проблемы. Например, в изоляте нельзя работать с MethodChannel, и в принципе его использование сопряжено с неудобствами и бойлерплейтом.
Читать дальше →
Всего голосов 12: ↑11 и ↓1 +10
Просмотры2.9K
Комментарии 0

DartUP 2020: итоги и видеозаписи докладов

WrikeРазработка веб-сайтовПрограммированиеDartFlutter


Вот и отгремел DartUP 2020! Два дня мы слушали доклады про Dart и Flutter, играли в Code Kombat и Bugz Arena и общались с участниками и спикерами в SpatialChat. Получилось ничуть не менее атмосферно, чем в офлайне. В этой статье мы подведем итоги конференции и поделимся с вами видеозаписями докладов на русском и английском.
Читать дальше →
Всего голосов 14: ↑14 и ↓0 +14
Просмотры1.6K
Комментарии 0

Информация

В рейтинге
5,730-й
Зарегистрирован
Активность