Size: a a a

Dart & Flutter по-русски

2020 July 31

★ᵃ

★☬[𝐍𝐓𝐙𝐗]☬★ ᵃᵖᵒˡˡᵒ... in Dart & Flutter по-русски
HackeR 👑 [InSoftUz]
а ты прям представитель бога)
Yep. Для жирного троллинга некоторых личностей )
источник

СА

Савостьянов Андрей... in Dart & Flutter по-русски
Дмитрий Костин
А книги вот тут @flutterbooks
Интересно, а как сюда ПОЛОЖИТЬ книжку. У меня уже на русском какая-то есть...
источник

ДК

Дмитрий Костин... in Dart & Flutter по-русски
Савостьянов Андрей
Интересно, а как сюда ПОЛОЖИТЬ книжку. У меня уже на русском какая-то есть...
спросить владельца канала
источник

🐴🐴

🐴 🐴 in Dart & Flutter по-русски
Ivan Pavlov
Кто подскажет, зачем создают абстрактные классы, а потом их имплементацию?

К примеру как здесь:

abstract class SearchManager {
 RxCommand<String,String> lookUpZipCommand;
}

class SearchManagerImplementation implements SearchManager{  
 @override
 RxCommand<String,String> lookUpZipCommand;

 SearchManagerImplementation()
 {
     lookUpZipCommand = RxCommand.createAsync((zip) =>
       sl.get<ZipApiService>().lookUpZip(zip));
 }
}
конкретно здесь (если нет других имплементаций) абстрактный класс не нужен. рискну предположить, что код писал чувак, пришедший из Java стека, с контузией мозга от кровавого энтерпрайза (сам в таком работаю)
источник

RM

Roman Mingazetdinov in Dart & Flutter по-русски
Enums with Extensions in Dart: Интеграция enums и методов расширения облегчит разработку в Flutter.
https://link.medium.com/B6LAPpeby8
источник

★ᵃ

★☬[𝐍𝐓𝐙𝐗]☬★ ᵃᵖᵒˡˡᵒ... in Dart & Flutter по-русски
Савостьянов Андрей
Интересно, а как сюда ПОЛОЖИТЬ книжку. У меня уже на русском какая-то есть...
а можешь скинуть хотя б в чЯт ? )
источник

СА

Савостьянов Андрей... in Dart & Flutter по-русски
Дмитрий Костин
спросить владельца канала
Чет не получается.
источник

ДК

Дмитрий Костин... in Dart & Flutter по-русски
Савостьянов Андрей
Чет не получается.
я ничем не могу помочь, я просто дал ссылку, канал не мой
источник

ДК

Дмитрий Костин... in Dart & Flutter по-русски
★☬[𝐍𝐓𝐙𝐗]☬★ ᵃᵖᵒˡˡᵒ
а можешь скинуть хотя б в чЯт ? )
+
источник

СА

Савостьянов Андрей... in Dart & Flutter по-русски
Ivan Pavlov
Кто подскажет, зачем создают абстрактные классы, а потом их имплементацию?

К примеру как здесь:

abstract class SearchManager {
 RxCommand<String,String> lookUpZipCommand;
}

class SearchManagerImplementation implements SearchManager{  
 @override
 RxCommand<String,String> lookUpZipCommand;

 SearchManagerImplementation()
 {
     lookUpZipCommand = RxCommand.createAsync((zip) =>
       sl.get<ZipApiService>().lookUpZip(zip));
 }
}
Нужно весь проект смотреть, но чаще всего кейс такой (на примере моего текущего проекта): есть, условно, виджет СтрокаПоиска. Он встроен в десяток разных экранов, но выглядит одинаково. Однако логика работы прям вообще разная в разных местах. Поэтому тот экран, в который он строен (вернее его VM) создаёт реализацию SearchManager для этого виджета и передаёт в конструктор, как аргумент. В данном случае abstract SearchManager это интерфейс делегата логики виджетаСтрокиПоиска. И да нужна привычка и большое приложение чтобы понять, что такой подход Тру.
источник

СА

Савостьянов Андрей... in Dart & Flutter по-русски
HackeR 👑 [InSoftUz]
привет. как можно запустить приложения под IOS на Linux?
Та запросто, ты ж на Флаттер канале: открываешь приложение в IDE (оно же у тебя на Флаттер надеюсь), переключаешь Флаттер в мастер канал, включаешь Линух енабле, собираешь его под Лихух десктоп. Профит!
источник

GV

Gorohov Valeriy in Dart & Flutter по-русски
Савостьянов Андрей
Та запросто, ты ж на Флаттер канале: открываешь приложение в IDE (оно же у тебя на Флаттер надеюсь), переключаешь Флаттер в мастер канал, включаешь Линух енабле, собираешь его под Лихух десктоп. Профит!
И получаешь другой размер окна, другую платформу и соответсвенно другое платформозависимое поведение, и пр.
источник

СА

Савостьянов Андрей... in Dart & Flutter по-русски
Gorohov Valeriy
И получаешь другой размер окна, другую платформу и соответсвенно другое платформозависимое поведение, и пр.
Это была шутка юмора в ответ на вопрос, содержащий шутку юмора. Чет все серьезные утром в пятницу.
источник

IP

Ivan Pavlov in Dart & Flutter по-русски
🐴 🐴
конкретно здесь (если нет других имплементаций) абстрактный класс не нужен. рискну предположить, что код писал чувак, пришедший из Java стека, с контузией мозга от кровавого энтерпрайза (сам в таком работаю)
источник

IP

Ivan Pavlov in Dart & Flutter по-русски
Савостьянов Андрей
Нужно весь проект смотреть, но чаще всего кейс такой (на примере моего текущего проекта): есть, условно, виджет СтрокаПоиска. Он встроен в десяток разных экранов, но выглядит одинаково. Однако логика работы прям вообще разная в разных местах. Поэтому тот экран, в который он строен (вернее его VM) создаёт реализацию SearchManager для этого виджета и передаёт в конструктор, как аргумент. В данном случае abstract SearchManager это интерфейс делегата логики виджетаСтрокиПоиска. И да нужна привычка и большое приложение чтобы понять, что такой подход Тру.
Спасибо, до большого приложения нужно ещё написать уйму маленьких 🙃
источник

СА

Савостьянов Андрей... in Dart & Flutter по-русски
Простите, мой французский, однако какая гадость.
источник

OP

Oleg Pchelkin in Dart & Flutter по-русски
Во-первых, различные менеджеры часто выделяют в отдельный модуль/либу и для вызова извне оставляют интерфейс, чтобы не привязываться к внутренней реализации
Также это добавляет удобства для тестирования абстрагированного модуля, потому что опять же - мы не должны завязываться на конкретную реализацию, нам важно отдать данные и получить результат (условно)
В небольшом пет-проекте смысла особо нету, но если работаешь в команде и каждый над своим участком кода - то гораздо удобнее заранее договориться об интерфейсах данных, которые уже можно дорабатывать в процессе работы.
источник

OP

Oleg Pchelkin in Dart & Flutter по-русски
Oleg Pchelkin
Во-первых, различные менеджеры часто выделяют в отдельный модуль/либу и для вызова извне оставляют интерфейс, чтобы не привязываться к внутренней реализации
Также это добавляет удобства для тестирования абстрагированного модуля, потому что опять же - мы не должны завязываться на конкретную реализацию, нам важно отдать данные и получить результат (условно)
В небольшом пет-проекте смысла особо нету, но если работаешь в команде и каждый над своим участком кода - то гораздо удобнее заранее договориться об интерфейсах данных, которые уже можно дорабатывать в процессе работы.
ну и также в DI можно легко подменять реализации через интерфесы при этом не меняя саму настройку DI (как для тестов, так и для внутренней логики)
источник

D

Dagba  in Dart & Flutter по-русски
Однозначно, все закрываем протоколами
источник

OP

Oleg Pchelkin in Dart & Flutter по-русски
Dagba 
Однозначно, все закрываем протоколами
ну да, в ios это протоколы)
источник