Как стать автором
Обновить
2
0
Илья Савинков @Logos_Intellect

Android developer

Отправить сообщение
Хочу заметить, что в версии 1.2.0-alpha04 класс переименован в ConcatAdapter
Хочу прояснить по пунктам 2 и 3:

  • Если вы хотите поменять цвет текста в конкретном месте, то есть свойство style у виджета Text
  • Я так понимаю 40.68 Mb это размер debug приложения? Там же Dart VM загружается и код интерпретируется. Попробуйте скомпилировать приложение и обновить свои данные
В своё время, когда переходил с Java на Kotlin, тоже постоянно использовал Nullable типы. Создаёте неизменяемую переменную, объявляете её Nullable типом и тут же задаёте ей значение… Восклицательные знаки в методе showView вообще треш
Так у каждого фрагмента свой toolbar в xml файле прописываешь. Я обычно делаю общее только DrawerLayout или BottomNavigationBar. Ну и естественно всякие алерты вроде «Нет подключения к интернету»
Google, как бы, намекает на использование подхода Single Activity
Дабы не быть многословным, я просто подскажу книгу, которая поможет тебе в твоём познании в архитектуре приложений. У тебя огромные пробелы в понимании чистого кода и архитектуры. Я просто не хочу сейчас разводить бессмысленные споры в комментариях

Мартин Роберт. Чистая архитектура. Искусство разработки программного обеспечения
Далее не вижу смысла задавать вопросы, лучше посмотрю на реализацию всего этого чуда. Лучше отвечу про VIPER, а точнее про то как я реализовываю Clean Architecture в своём приложении. Становится ясно, что вы не поняли её смысл. Никаких 10 сущностей на каждый экран нет. На каждый экран есть View и Presenter, причём презентер в некоторых редких случаях можно переиспользовать. Роутер у вас один на всё приложение, а не на каждый экран, не знаю откуда вы это взяли вообще. Далее интеракторы и репозитории тоже на всё приложение и разбиты по фичам, то есть максимально переиспользуются во всём приложении. Далее даю ссылки на статью1 и статью2 для ознакомления. Вы же пишите в топик по Android и должны их в пример приводить, а не VIPER с реализацией под iOS. Судя по вашему коду и ответам на вопросы у вас не так много опыта в разработке больших приложений под Android. Не хотелось бы ещё разводить холивар по поводу переноса фигурной скобки на новую строку, но в Java так не пишут, есть устоявшийся стиль форматирования (Ctrl + Alt + L в помощь)
В статье есть пример небольшого приложения, опущены только детали реализации UI

Я, наверное, не правильно выразился. Я имел ввиду законченное клиент-серверное приложение среднего масштаба. Например небольшой клиент для GitHub. Ваш пример очень простой и может не выявить определённых проблем в архитектуре, а они присутствуют в любой из них. Тем более я уверен, что Вы будете дальше развивать вашу архитектуру, и мне, как неуверенному джуниору, нужен будет пример реализации

Отсутствие проблем с Activty lifecycle, поворотами экрана, упрощение архитектуры и как следствие увеличение понимания системы любым членом команды, уменьшение количества мусорного кода, упрощение поддержки, ускорение и удешевление стоимости разработки для вас нецелесообразно?

Сильное заявление, проверять я его, конечно, не буду. Если сделаете рабочее приложение и выложите на GitHub, будет очень круто. Ну а пока я просто вижу несколько проблем, которые, конечно, можно решить, но надо посмотреть как это всё будет работать вместе и не усложнит ли всю архитектуру. Далее привожу естественно возникшие вопросы

  • В каком компоненте будет реализована навигация?
  • Я так понимаю, что данные в DataStorage пока не чистятся. В какой момент будет происходит очистка?
  • Будет ли активность использовать несколько Request и DataStorage для переиспользования кода?
  • Могу ли отменить Request?
  • Как обрабатываются ошибки?


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

А от статей по VIPER у вас волосы дыбом не встают?

Я Android разработчик, у нас VIPER не так популярен как на iOS, но благодаря Вам я прочёл одну статью, и на удивление мне всё понятно. Это обычная реализация Clean Architecture
Хорошо было бы посмотреть на вашу архитектуру в действии. Может вам стоит написать какое-нибудь приложения для демонстрации? Честно говоря у меня возникает сомнение в целесообразности применении данной архитектуры даже в средних приложениях. Что-то подобное у нас делал Junior разработчик в небольшом проекте и от этого кода дыбом волосы становились, особенно, когда мне пришлось исправлять баги и дорабатывать экраны…
Тоже у себя использую пример Google, но на Kotlin.
gist.github.com/LogosIntellect/f786c218bea72cbfee69099d3d163ea2
Так Dart VM же для браузера есть. Если бы решились вставить его в Chrome, то уже больше половины аудитории имело бы Dart VM на борту. Для остальных компиляция в JavaScript
Интересно было узнать, что язык развивается. Писал на нём 4 года назад дипломный проект и сильно верил в его победу над JavaScript. Ох уж эта наивность… То что начали избавляться от визуального шума (new, const), это хорошо. Если бы ещё точку с запятой убрали так вообще сказка :)
Что-то я себе не очень представляю безболезненный переход от таких языков как Java(Kotlin) и Swift на JavaScript
Как то смотрел фильм про Тамерлана, там утверждали, что он не являлся прямым потомком Чингисхана из-за этого его долго не принимали как великого хана

Информация

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