Pull to refresh
18
0
Валерий @rookie_cruekie

Программист

Send message

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

Reading time 2 min
Views 2.7K

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

Читать далее
Total votes 2: ↑0 and ↓2 -2
Comments 4

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

Reading time 7 min
Views 13K

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

Читать далее
Total votes 2: ↑0 and ↓2 -2
Comments 11

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

Reading time 1 min
Views 5.2K


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

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


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

Читать дальше →
Total votes 38: ↑9 and ↓29 -20
Comments 21

Start using ReactiveX in dart and Flutter from beginning

Reading time 3 min
Views 3.9K


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 →
Total votes 3: ↑3 and ↓0 +3
Comments 0

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

Reading time 4 min
Views 14K


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


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


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

Читать дальше →
Total votes 15: ↑13 and ↓2 +11
Comments 30

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

Reading time 2 min
Views 8.2K


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


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


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

Читать дальше →
Total votes 10: ↑10 and ↓0 +10
Comments 10

Основы RxVMS: RxCommand и GetIt

Reading time 13 min
Views 7.2K

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



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

Читать дальше →
Total votes 6: ↑6 and ↓0 +6
Comments 0

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

Reading time 13 min
Views 24K

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



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


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


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


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

Читать дальше →
Total votes 6: ↑6 and ↓0 +6
Comments 2

Основы Dart Streams

Reading time 8 min
Views 45K

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



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


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


Пусть течет


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


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

Читать дальше →
Total votes 5: ↑5 and ↓0 +5
Comments 6

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

Reading time 5 min
Views 11K

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


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



Предисловие


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


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

Читать дальше →
Total votes 9: ↑7 and ↓2 +5
Comments 5

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

Reading time 13 min
Views 6.4K


Введение


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


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

Читать дальше →
Total votes 11: ↑11 and ↓0 +11
Comments 9

Information

Rating
Does not participate
Location
Екатеринбург, Свердловская обл., Россия
Date of birth
Registered
Activity