Статься — простой пересказ туториала retrofit2 т.е. По мне так ни чего нового, можно любой туториал на хабре взять или любую библиотеку и переписать его на kotlinи выдать в качестве статьи — но это же смешно.
по это все
Классы данных
Объявления объектов
Сопутствующие объекты
Строковые шаблоны
Взаимодействие с Java
уже было сказано и не раз статей 10 было про котлин с эим содержанием после обявления гугла о поддержке котлина официально.
статья назвается Retrofit на Android с Kotlin но при чем тут RxJava? для удобства — ладно пусть, но опять таки все из туториала по retrofit2. На лицо перепечатывание с сайта Retrofit.
Далее есть раздел 3. Создание API-интерфейса и в нем приведен пример инерфейса и метода
все все ок (перепечатан пример из retrofit2 толкьо на котлин) но где черт возми объяснение как из него будет создан Observable, и почему не Call?
можно дополнить и укзать что именно отвечает за такую возможность.
А по мне так RxJava в данной статье это лишнее, убери ее и отличий будет минимум, куда приколькнее было бы расскзать о стандартном подходе, а в конце статьи добавить о том как легко можно можно испольвзать RxJava — заменой всего 2х строчек.
Так же например было бы куда полезнее расскзать про то как можно рабоатть с retrofit2 + LiveData например.
Rx — уже приелся и для данного примера профита от его испольвзания нет.
Тут будет краш в рантайме при определенном стечении обстоятельств
Вот простое решение которое однозначно скажет всем INSTANCE не может быть null что и требуется
companion object {
private lateinit var INSTANCE: MyMvpApp
@JvmStatic
fun get(): MyMvpApp = INSTANCE
}
но если уж хочется что бы нул был так и get() должен возвращать null
а для обращения к null в котлин используется оператор безопасного вызова — ? его и надо использовать чтобы код оставался безопасным и надежным.
Кроме этого функция — fun get(): MyMvpApp провоцирует использовать фактически синглтон MyMvpApp.get() повсеместно где нужен контекст, тут разумнее было бы вернуть AppDiComponent т.е.
companion object {
fun getInjector(): AppDiComponent = INJECTOR
}
view!!.visibility = if (isShown!!) View.VISIBLE else View.GONE
Ну вот опять эти !! (двойной восклицательный знак) прямо кричит что тут явно что то не так. Ну почему нельзя немного подумать и написать безопасный код? понятно что это пример, но тут все просто — сделайте функцию fun showView(view: View?, isShown: Boolean?) без опциональных типов например и не нужны будут эти костыли в виде !!
Это конечно упростит жизнь, но это несколько доплнительных и возможно неудобных и лишних действий которые особо не помогают упростить процесс. Т.е. нужно сделть следующее
1. Назвать трек номер или ФИО
2. Назвать номер телефона
3. Назвать код из СМС
при этом между 2 и 3 пунктом может пройти много времени. По мне так проще заполненное извещение принести или заполнить его на месте и получить посылку вне зависимости от рабоспособности телефона и сервиса доставки смс сообщений.
Куда удобнее было бы на телефоне (я говрю сейчас про приложение) заполнить данные, и оператор на почте распечатал бы уже готовый бланк на котором нужно было бы поставить только подпись, вот это да упрощение процесса, да тут по прежнему требуется паспорт, но экномия времени и это технически проще чем СМС и заполнение форм.
В Комментариях автор пару раз упоминал функции — map, filter, reduce и т.п. разве наличие этих функций делает язык программирования функциональным? складывается такое впечатление что автор думает что именно наличие этих функций делает из ООП языка функциональный. По мне так это звучит как бред и наличие или отсутствие указанных функций не делает язык функциональным
Ни одна кросплатформенная система не позволит написать качестввенное приложение одинаково хорошо работающее и на iOS и на Android. А есили испольвзать для написания толкьо под айос по причине «не хочу разбиратсья с новым языком», то как мне кажется над заканчивать с программированием вообще.
Ну пока что (пока не вышла версия AS3.0) подддержака в IDE не так хороша как Java, многи библиотеки без костылей и доп гугбения не работают, тот же DataBinding не работает без пробелм, для поддержки анотаций нужен собсвенынй kapt что не добаляет удобства.
Вобщем надеюсь что после релиза разаработка приложений с kotlin будет проще со временем конечно.
Статья написана так какбудто можно и не работать а все время в отпуске тусить, конечно в отпуске на берегу моря хорошо, но на это надо заработать, а поэтому хорошо потусив пару недель, на работу как раз таки возвращатсья хочется что бы заработаь денег на следующих отпуск.
Вот реально за много лет рабоыт ни разу небыло такого что бы не хотелось на работу, после отпуска я с нетерпением жду выхода на работу, потмоу что мне нравится моя работа. Не понимаю всех тех кто ноет о том что работа — говно, начальник злой — так смените работу займитесь тем что приносит радость и тогда не будет желания во время работы пинать извесные предметы думая об отпуске
Даже хз, статья ниочем, ну косячно форматирует и что теперь? не в форматирвоании же смысл. Вот если неработало как заявлено, другое дело. Вы бы еще про подсветку синтаксиса написали что цвет не устраивет.
Вышло 2 поколения айфонов 6s и 7, и 8ка на подходе, а все айфоны начинают лагать при обновлении вот обновиться до iOS11 и все начнет лагать, сейчас уже на 6s тот же ЭирДроп работает медленне (передача данных) раз в 5 по сравнению с iPhone7.
Ну и лаги интерфейса заметны, я уже молчу про медленное открытие приложений не думаю что что то поменяется после релиза.
Все врно надо помечать такие приложения, что бы ползватели знали что запускают неполноценное приложение, а поделку кросплатформеную, котоаря толкьо похожа на нативные приложения.
Прошки 2016 — 2017 годов выглядят хорошо, но вот к качесту у есть притензии, а так же отсутствие портов — только type-c, это конечно хоршо если у тебя nexus или пиксель, а вот айфончик 6/6s/7 уже не воткнешь в новый макбук — это я считаю прям эпичным фейлом — невозможно к макбуку подклчюить айофн.
Ну а самое главное так это то что яблоко больше не светится — просто провал.
По поводу айфон 8 правильно нарисовали выше — кнопки как на андроид, мое мнение это самое логичное решение.
Список можно скатаь «стандартный», использую из него только GitIgnore, а без остального жить можно, т.е. плагины не решают каких то важных проблем. Ну и эти плагины уже не раз описывались на других ресурсах, тут я ожидал увидеть чтото новое, а увидел старье да еще польза от них сомнительная.
Как выше отмечали некотоыре плагины так вообще в студию встроены.
Material Тема студии UI EAP
— это так ваще не материал (дефолтная Darcula и то лучше) — вырвиглазные цвета, бэкграунд у редактора отличается от беэкгранда панелей, иконки так ваще трындец — цвета инвертированы — на мой вкус тема ужасная.
по это все
уже было сказано и не раз статей 10 было про котлин с эим содержанием после обявления гугла о поддержке котлина официально.
статья назвается Retrofit на Android с Kotlin но при чем тут RxJava? для удобства — ладно пусть, но опять таки все из туториала по retrofit2. На лицо перепечатывание с сайта Retrofit.
Далее есть раздел 3. Создание API-интерфейса и в нем приведен пример инерфейса и метода
все все ок (перепечатан пример из retrofit2 толкьо на котлин) но где черт возми объяснение как из него будет создан Observable, и почему не Call?
можно дополнить и укзать что именно отвечает за такую возможность.
А по мне так RxJava в данной статье это лишнее, убери ее и отличий будет минимум, куда приколькнее было бы расскзать о стандартном подходе, а в конце статьи добавить о том как легко можно можно испольвзать RxJava — заменой всего 2х строчек.
Так же например было бы куда полезнее расскзать про то как можно рабоатть с retrofit2 + LiveData например.
Rx — уже приелся и для данного примера профита от его испольвзания нет.
Тут будет краш в рантайме при определенном стечении обстоятельств
Вот простое решение которое однозначно скажет всем INSTANCE не может быть null что и требуется
но если уж хочется что бы нул был так и get() должен возвращать null
а для обращения к null в котлин используется оператор безопасного вызова —
?
его и надо использовать чтобы код оставался безопасным и надежным.Кроме этого функция —
fun get(): MyMvpApp
провоцирует использовать фактически синглтон MyMvpApp.get() повсеместно где нужен контекст, тут разумнее было бы вернуть AppDiComponent т.е.тем самым ограничив область использования
view!!.visibility = if (isShown!!) View.VISIBLE else View.GONE
Ну вот опять эти
!!
(двойной восклицательный знак) прямо кричит что тут явно что то не так. Ну почему нельзя немного подумать и написать безопасный код? понятно что это пример, но тут все просто — сделайте функциюfun showView(view: View?, isShown: Boolean?)
без опциональных типов например и не нужны будут эти костыли в виде!!
1. Назвать трек номер или ФИО
2. Назвать номер телефона
3. Назвать код из СМС
при этом между 2 и 3 пунктом может пройти много времени. По мне так проще заполненное извещение принести или заполнить его на месте и получить посылку вне зависимости от рабоспособности телефона и сервиса доставки смс сообщений.
Куда удобнее было бы на телефоне (я говрю сейчас про приложение) заполнить данные, и оператор на почте распечатал бы уже готовый бланк на котором нужно было бы поставить только подпись, вот это да упрощение процесса, да тут по прежнему требуется паспорт, но экномия времени и это технически проще чем СМС и заполнение форм.
Вобщем надеюсь что после релиза разаработка приложений с kotlin будет проще со временем конечно.
Вот реально за много лет рабоыт ни разу небыло такого что бы не хотелось на работу, после отпуска я с нетерпением жду выхода на работу, потмоу что мне нравится моя работа. Не понимаю всех тех кто ноет о том что работа — говно, начальник злой — так смените работу займитесь тем что приносит радость и тогда не будет желания во время работы пинать извесные предметы думая об отпуске
Ретрофит — хоршо подходит если надо быстро получтиь данные из сети, наверно быстрее всегоп озволят это сделать
Ну и лаги интерфейса заметны, я уже молчу про медленное открытие приложений не думаю что что то поменяется после релиза.
Ну а самое главное так это то что яблоко больше не светится — просто провал.
По поводу айфон 8 правильно нарисовали выше — кнопки как на андроид, мое мнение это самое логичное решение.
Как выше отмечали некотоыре плагины так вообще в студию встроены. — это так ваще не материал (дефолтная Darcula и то лучше) — вырвиглазные цвета, бэкграунд у редактора отличается от беэкгранда панелей, иконки так ваще трындец — цвета инвертированы — на мой вкус тема ужасная.
Странно почему в список не включен например весьма полезный плагин, да и не толкьо он есть.