Pull to refresh
4
0
Send message

практически - это невозможно использовать в готовых приложениях

Звучит загадочно. Почему? И где тогда можно?

можно буквально из нативного кода создать просто экземпляр одного класса (модель) из нативного кода

Так и в дарте так можно. Для iOS, Android, JS. Если нужно. Нам пока ни разу не понадобилось – всего и так хватает.

Котлин это первый вариант бесшовногно интеропа с нативными языками

Не очень понял. Дарт точно так же бесшовно компилится в натив, причём на большем количестве платформ. А КМР/СМР точно такие же фреймворки, как и флаттер.

Со скоростью тоже всё в порядке.

когда у тебя на серьезном проекте обнаруживается бага, протекшая в нативный код, так еще и на одной платформе, и ты неделями её дебажишь

Такого, чтобы вылезал баг, обнаруживаемый "в лабораторных условиях", который можно самому отдебажить – не припомню. Случаются странные баги, которые проявляются у очень малого подмножества юзеров и вылезают только на проде. Вот, например. Но это может случиться с любой внешней либой, вплоть до clib. А так качество тестирования у них неплохое, с чем-то действительно критическим пока сталкиваться не приходилось. За флаттер говорю в данном случае.

когда на разных платформах есть разные возможности - то в суммарной версии нет никаких

С таким тоже не встречались. Пока единственное значимое ограничение, связанное именно с платформой – отсутствие поддержки сервис воркеров в вебките. Поэтому на iOS web приходится тупо запрещать пуш нотифы. Но это косяк эппл, не флаттера. В остальном всё одинаково.

А так сам язык Kotlin раз в 5 более развит, чем Dart.

Ну в пять – это перебор, наверное 🙂 Чего же в том котлине есть такого волшебного? На сегодняшний день дарту, пожалуй, не хватает одного: позднего статического связывания. Причём похоже, оно и не планируется, увы. А в остальном всё нужное для эффективного программирования есть. Жаль, что от макросов/метапрограммирования они отказались в конечном итоге – но это совсем не смертельно. В целом на нём пишется комфортно.

А КМР да – сколько ни смотрел, он всё в бете: "ждите, почти готов, вот-вот будет".

Использование Kotlin Multiplatform в разработке оказалось не таким болезненным, как может показаться на первый взгляд.

Довольно своеобразная реклама, я бы сказал 🙂 Не сказать, чтобы пробуждала непреодолимое желание попробовать.

Пара вопросов:

  • Главное: а чем, собственно, был обусловлен выбор именно КМР? В мультиплатформе сейчас есть флаттер, RN (не к ночи будь помянут), кордова всяческая. Почему КМР – опыт с Котлином был?

  • Эти метрики по размерам 60М+ к чему относятся – сборка голой базы приложения, без функционала?

Я таки на КМР не рискнул – сыроватым показался. Правда, это было больше 2х лет назад. С реактом мы в своё время нахлебались, желание продолжать пропало. Кордова тоже не впечатлила, так что взяли флаттер. Если бы пришлось сейчас писать статью – она явно была бы более позитивной, чем эта. Небольшие заморочки есть, но плюсов намного больше. И размер, кстати, сильно меньше 🙂 Аппа с десятками экранов сейчас 37М. Три платформы - Android, iOS, web, platform-specific кода почти нет – для веба по большей части. Десктоп теоретически тоже можно, но не пробовали – нет необходимости.

Не совсем так.

Эксперт – это известный человек, чьё мнение совпадает с моим ©

ведь специалист с "хреновым" с т.з. хр/хр-бота резюме просто попадает в теневой бан

Я могу чего-то не знать, ибо не занимался поиском работы уже долгие годы – но вроде в сети циркулирует просто таки море "правильных" темплетов сиви, выбрать самый красивый и заполнить – дело на пару часов максимум. Если не сработал – через неделю меняем на другой и ждём результата. А/Б тестирование.

Почему вы отвечаете в таком тоне на искреннее желание предложить

Извините, что вмешиваюсь, но по-моему, претензия необоснованная. Тон совершенно корректный, а сам факт, что @apoltavcevкомментирует статью, которую мог бы легко проигнорировать, свидетельствует о его готовности обсуждать пути улучшения сервиса.

от очень-очень давнего автора и читателя хабра

Гм.

Потому что 95% моей работы - просто повторение того, что я уже много раз делал.

Ну не у всех же такая работа.

Простите, почему-то вместо ответа получился отдельный пост. Тут ответил.

Вы, видимо, никогда не участвовали в олимпиадах по программированию.

Это правда. Когда я начинал программировать, ещё и понятия-то такого не было.

Собственно это одна из причин почему олимпиадников не очень любят брать в компании

У меня сейчас работает один такой. Классный парень, умница. За пару лет вырос от стажёра до синьора – и вполне заслуженно. С какой скоростью он печатает, не знаю – удалёнка же 🙂

если вы на Олимпиаде:)

По скоропечатанию? 🙂

Хороший программист сначала подумает, а потом не спеша напишет короткий код.

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

— С какой скоростью Вы печатаете?

— 1000 символов в минуту!

— Ого! Вы приняты!

— Тихонько, в сторону: такая чушь получается...

Цифры чего? Вовлечённости, креативности? Как это померить? Если эффективности – то в сравнении с чем? С совершенно другими проектами, которые я делал 15+ лет назад? Ну вот такое могу показать:

───────────────────────────────────────────────────────────────────────────────
Language                 Files     Lines   Blanks  Comments     Code Complexity
───────────────────────────────────────────────────────────────────────────────
PHP                      10420   1514596   115116    408858   990622      72484
SQL                       3894    356017    10207     13567   332243         36
CSS                       1316    167601    14993      5481   147127          0
LESS                       368     70616     4707      1075    64834          0
JavaScript                 362    102422    10578      6216    85628      12557
SVG                        315     16072        7         5    16060          0
JSON                        74      3046        4         0     3042          0
Plain Text                  31     16442      152         0    16290          0
Markdown                     8       427       95         0      332          0
XML                          8      2606        3         0     2603          0
gitignore                    7       123       19        21       83          0
Batch                        5        34        5         0       29          4
HTML                         5       423       44        18      361          0
YAML                         2        44        7         0       37          0
License                      1       166       16         0      150          0
Properties File              1         7        0         0        7          0
Shell                        1         2        0         1        1          0
───────────────────────────────────────────────────────────────────────────────
Total                    16818   2250644   155953    435242  1659449      85081
───────────────────────────────────────────────────────────────────────────────
Estimated Cost to Develop (organic) $64,946,751
Estimated Schedule Effort (organic) 67.17 months
Estimated People Required (organic) 85.90

Это scc. Сейчас уже давно в режиме обслуживания, но первоначальный релиз был сделан примерно за год, командой из ~20 человек, и разумеется, за в разы меньшие деньги.

Или вот, 5 человек за полгода:

───────────────────────────────────────────────────────────────────────────────
Language                 Files     Lines   Blanks  Comments     Code Complexity
───────────────────────────────────────────────────────────────────────────────
Dart                       903     96191    10184      8113    77894       5276
JSON                       236      5230        0         0     5230          0
XML                        189      9252       78       123     9051          0
SVG                         49       476        0         0      476          0
Markdown                    28      2482     1025         0     1457          0
JavaScript                   6       470       47        16      407        111
YAML                         5       248       17        42      189          0
Batch                        4        93       24         0       69         22
Gradle                       4       165       23         4      138          0
Shell                        4        10        1         4        5          0
Swift                        3       376       58        82      236         19
Xcode Config                 3        14        1         0       13          0
gitignore                    3       174       25        31      118          0
Properties File              2        10        0         0       10          0
BASH                         1       160       19        21      120         18
C Header                     1         1        0         0        1          0
HTML                         1       278        9         1      268          0
Kotlin                       1        22        4         4       14          1
PHP                          1       106       16         0       90          8
Plain Text                   1         2        0         0        2          0
Prolog                       1         9        0         0        9          0
───────────────────────────────────────────────────────────────────────────────
Total                     1446    115769    11531      8441    95797       5455
───────────────────────────────────────────────────────────────────────────────
Estimated Cost to Develop (organic) $3,250,983
Estimated Schedule Effort (organic) 21.53 months
Estimated People Required (organic) 13.42
───────────────────────────────────────────────────────────────────────────────

Годится?

Подозреваю что в 1000+ компаниях уже необходим офис.

У нас около 500. На удалёнке примерно ⅔. Сейчас, наверное, уже и больше. Но офис по-прежнему есть, да. Думаю, и при меньшем количестве сотрудников он формально необходим – хотя бы на 2-3 человека. Грубо говоря, чтобы налоговой было куда прийти с проверкой.

Connection Machine CM-1 (1985 год)

А у нас в это время была уже СМ-4! 😁

Микросервисная архитектура стала стандартом для современных IT-проектов

Звучит громко. Только вот боюсь, тогда эдак 99% проектов то ли несовременные, то ли нестандартные.

С чем сравнивали?

С предыдущим опытом реализации подобных проектов в офисном формате. Он у меня, эээ.... достаточный.

А были реальные кейсы, когда средняя или крупная компания полностью отказалась от всех офисов

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

Information

Rating
6,346-th
Registered
Activity