Как стать автором
Обновить
18
0
Валерий @rookie_cruekie

Программист

Отправить сообщение

GetX во Flutter: Строим Unidirectional Data Flow с Rx-переменными

Время на прочтение2 мин
Количество просмотров2.8K

Случается, что связку .obs/Obx критикуют за нарушение инкапсуляции и за прямой доступ к изменению переменной из View минуя Model. Статья описывает подход к устранению этого недостатка и к реализации Unidirectional Data Flow поверх Rx-переменных библиотеки GetX с помощью паттерна Decorator.

Читать далее
Всего голосов 2: ↑0 и ↓2-2
Комментарии4

GetX for Flutter. Dependency Injection для частных случаев

Время на прочтение7 мин
Количество просмотров13K

GetX удобен. Действительно удобен, лаконичен, функционален, выразителен. Но порою его функционала не хватает.  В частности, речь об инжектировании контроллеров -Get.put/lazyPut/create/find - вот это все. Данная схема отлично работает в контексте навигации между страницами. Но не работает, например, в страницах PageView, или же при конструировании Get.bottomSheet. Ниже предлагается решение для этих случаев.

Читать далее
Всего голосов 2: ↑0 и ↓2-2
Комментарии11

«RTFM, dude!», или как бесплатный сыр обошелся мне в $5. А мог бы и в $80+

Время на прочтение1 мин
Количество просмотров5.2K


В отношении политики AWS не может быть никаких претензий, конечно. Все нижеописанное случилось по собственному ротозейству. Мы же вас предупреждали, незнание законов, и т.п.

Необходимое вступление


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

Читать дальше →
Всего голосов 38: ↑9 и ↓29-20
Комментарии21

Start using ReactiveX in dart and Flutter from beginning

Время на прочтение3 мин
Количество просмотров4K


Yesterday my friend said something like "I’m writing simple offline app, I don’t need these streams and all that jazz". I was confused, but I thought, that there may be other coders in this delusion.


Below, literally in 50 lines I will show, on known example that reactivity is:


a) not about offline/online
b) very easy
c) very good for simplifying almost any code

Read more →
Всего голосов 3: ↑3 и ↓0+3
Комментарии0

RxDart для самых маленьких… проектов

Время на прочтение4 мин
Количество просмотров14K


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


Ниже буквально в 50 строк я на известном примере покажу, что реактивность


а) это не про оффлайн/онлайн
б) это очень просто
в) очень хороша для упрощения практически любого кода

Читать дальше →
Всего голосов 15: ↑13 и ↓2+11
Комментарии30

Flutter: локализация приложений средствами Android Studio

Время на прочтение2 мин
Количество просмотров8.2K


Про локализацию (интернационализацию) приложений Flutter написано уже достаточно много.
Официальная документация довольно подробно останавливается на этом вопросе, кроме этого ряд энтузиастов описывает самые различные подходы.


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


Речь идет о локализации при помощи flutter_i18n — плагина Android Studio, используя который удается избавиться от рутинной работы и шаблонного кода.

Читать дальше →
Всего голосов 10: ↑10 и ↓0+10
Комментарии10

Основы RxVMS: RxCommand и GetIt

Время на прочтение13 мин
Количество просмотров7.2K

Это четвертая часть моей серии про архитектуру Flutter:



Хотя 2 предыдущие части явно не относились к паттерну RxVMS, они были необходимы для ясного понимания этого подхода. Теперь мы обратимся к самом важным пакетам, которые понадобятся, чтобы использовать RxVMS в вашем приложении.

Читать дальше →
Всего голосов 6: ↑6 и ↓0+6
Комментарии0

RxDart: магические трансформации потоков

Время на прочтение13 мин
Количество просмотров24K

Добро пожаловать — это третья часть моей серии статей об архитектуре Flutter.



На этот раз мы совершим небольшое погружение в магическое царство реактивных расширений (Rx). Я сосредоточусь на наиболее используемых функциях Rx и объясню их применение. Если вы не читали предыдущий пост, сейчас для этого самое время, прежде чем двигаться дальше.


RxDart — это реализация концепции Rx для языка Dart, за что следует сказать спасибо Frank Pepermans и Brian Egan. Если ранее вы использовали Rx в других языках, то наверняка заметите разницу в именовании ряда функций, но это вряд ли вызовет у вас затруднения.


Код для тестирования находится здесь.


До сих пор мы использовали потоки как способ передачи данных из одного места в другое в нашем приложении, но они могут сделать гораздо больше. Давайте взглянем на некоторые функции, которые Rx добавляет в Streams.

Читать дальше →
Всего голосов 6: ↑6 и ↓0+6
Комментарии2

Основы Dart Streams

Время на прочтение8 мин
Количество просмотров46K

Это вторая часть моей серии по поводу Flutter Architecture:



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


Оказалось, что включение Rx в этот пост сделало бы его слишком длинным, поэтому я разделил его на две части.


Пусть течет


Я читаю множество комментов, что дескать потоки, и особенно Rx, слишком сложны для понимания и, как следствие, для использования.


Мне бы хотелось, чтобы вы знали, что я не считаю себя гуру Rx. Освоить всю мощь его нелегко, и я признаю, что продолжаю учиться. Но позвольте мне с самого начала исправить одно заблуждение: вам не нужно быть волшебником Rx, чтобы начать получать массу преимуществ от использования потоков и этой технологии. Я приложу максимум усилий, чтобы объяснить вам потоки наиболее доступным образом.

Читать дальше →
Всего голосов 5: ↑5 и ↓0+5
Комментарии6

RxVMS — практичная архитектура для Flutter-приложений

Время на прочтение5 мин
Количество просмотров12K

Это первый пост из серии публикаций, в которых объясняется мое понимание архитектуры приложений для Flutter. Предупреждаю — это будет весьма самоуверенным.


Пока запланированы:



Предисловие


Я в программировании уже около 20 лет. Начал мобильную разработку 4 года назад с Xamarin.Forms, ибо кроссплатформенность была единственной побудительной причиной для меня в качестве инди-разработчика. Xamarin.Forms буквально толкают тебя к использованию паттерна MVVM, так как определение UI ведется в XAML, и тебе необходим какой-то слой, чтобы склеивать UI с Моделью. В процессе работы с Xamarin я познакомился с ReactiveUI и был буквально покорен потоками и реактивными расширениями (Rx), сделавшими мои приложения более надежными.


В то время, как в Xamarin.Forms MVVM были "из-коробки", при переходе к Flutter я был удивлен, что в нем не было никаких похожих шаблонов проектирования. Я начал исследовать различные предлагаемые подходы, но ничего из имеющегося не удовлетворило меня в полной мере:

Читать дальше →
Всего голосов 9: ↑7 и ↓2+5
Комментарии5

JUndo — undo библиотека для Java

Время на прочтение13 мин
Количество просмотров6.4K


Введение


В конце прошлого года мне потребовался undo/redo инструмент для Java-проекта, который, помимо стандартных для этого концепта задач, умел бы сохранять историю команд и корректно обрабатывать привязку к меняющемуся адресному контексту (это с прицелом на мой готовящийся проект для Android и его регулярное пересоздание вьюшек). Поискал, не нашел, взялся.


Результатом стала библиотека JUndo.

Читать дальше →
Всего голосов 11: ↑11 и ↓0+11
Комментарии9

Информация

В рейтинге
Не участвует
Откуда
Екатеринбург, Свердловская обл., Россия
Дата рождения
Зарегистрирован
Активность