Google объявила Kotlin приоритетным языком программирования для разработки Android-приложений

Но компания не призывает отказываться от C++ и Java.

В закладки

На конференции для разработчиков I/O 2019 Google объявила, что язык программирования Kotlin теперь является предпочтительным языком для разработчиков приложений под Android — новые API и библиотеки Jetpack будут публиковаться сначала на Kotlin.

Google I/O 2017 TechCrunch

«Если вы начинаете новый проект, вы должны писать его на Kotlin: код, написанный на Kotlin чаще всего означает для вас (разработчиков) гораздо меньше кода — меньше кода для набора, тестирования и обслуживания», — заявляет Google. По мнению компании, разработка под Android будет всё больше становиться разработкой на Kotlin.

dobreprogramy

Kotlin – язык, созданный в 2010 году международной компанией JetBrains, которую основали петербургские программисты. Впервые Google объявила о поддержке Kotlin в Android Studio IDE в 2017 году.

По словам Google, за два года популярность этого языка программирования существенно выросла: более 50% профессиональных разработчиков под Android используют Kotlin в своих проектах. Kotlin стал четвертым по популярности языком программирования по результатам последнего опроса разработчиков на Stack Overflow.

«Мы понимаем, что не все сейчас используют Kotlin, но мы считаем, что вы должны быть на нём. У вас могут быть веские причины по-прежнему использовать C++ и Java, и это совершенно нормально. Они никуда не уходят», заявляет Чет Хаазе, Developer Advocate для Android.

#новость #google #android #Kotlin #java

{ "author_name": "Евгений Делюкин", "author_type": "editor", "tags": ["\u043d\u043e\u0432\u043e\u0441\u0442\u044c","\u043d\u043e\u0432\u043e\u0441\u0442\u0438","kotlin","java","google","android"], "comments": 78, "likes": 86, "favorites": 39, "is_advertisement": false, "subsite_label": "dev", "id": 66728, "is_wide": false, "is_ugc": false, "date": "Tue, 07 May 2019 23:50:39 +0300" }
SMS-чат для клиентов
{ "id": 66728, "author_id": 124903, "diff_limit": 1000, "urls": {"diff":"\/comments\/66728\/get","add":"\/comments\/66728\/add","edit":"\/comments\/edit","remove":"\/admin\/comments\/remove","pin":"\/admin\/comments\/pin","get4edit":"\/comments\/get4edit","complain":"\/comments\/complain","load_more":"\/comments\/loading\/66728"}, "attach_limit": 2, "max_comment_text_length": 5000, "subsite_id": 235819, "last_count_and_date": null }

78 комментариев 78 комм.

Популярные

По порядку

Написать комментарий...
62

Джетбрейнс конечно крутые, как и все их продукты. Уважуха

Ответить
–4

Да только будущее за IDE в браузерах. И кажется они сейчас ничего не делают в этом направлении.

Ответить
4

Лет 5 уже пророчат "будущее в онлайн", все никак не напророчат

Ответить
2

Если чуть мозгами пораскинуть это естественное решение.

1 Коллективная разработка без всяких git как в google docs
2 Очень быстрая сборка тестирование на лету в облаках
3 Можно работать на любом устройстве.
4 Не нужно ебаться с окружением, все уже готово и работает везде, хоть на мобиле программируй.
5 Мгновенное развертывание на боевых системах после автоматического тестирования.

webasm позволяет делать быструю работу таких IDE
Если Jetbrains начнет почивать на лаврах, их уделает какой-нибудь быстро растущий стартап.

Игры уходят в облака, сапр уходит, разработка тоже уйдет.

Ответить
0

Облака нужны тем, у кого нормального железа нет.

Ответить
0

Ну да это понятно у тебя же есть крутейшее железо Apple. Как известно любой даже самый слабый комп Apple заменяет целый датацентр.

Ответить
0

Уже есть глобальные IDE онлайн и их огромное количество.

Ответить
–1

Дак может JetBrains как лидер тормозит прогресс как раньше Borland думали что делают крутые IDЕ а делали говно.

Ответить
1

Но с рендерингом шрифтов на макоси в последней версии IDEA они знатно накосячили, я до сих пор не понимаю, как это прошло тестирование https://youtrack.jetbrains.com/issue/JBR-1348

Ответить
0

Тестами не покрывается, воспроизводится не у всех, вот и прошло. Я только сейчас об этом узнал, например.

Ответить
0

Так там и ручное тестирование наверное есть. Косяк очень заметный

Ответить
0

Я же написал

воспроизводится не у всех

Ответить
0

Да, я только проснулся и туплю :)

Ответить
0

Да, красавчики товарищи.

Ответить
24

Пацаны пришли к успеху

Ответить
17

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

Ответить
2

И весь этот код на джаве автоматический, появляется в 2 клика, не понимаю проблемы

Ответить
6

Тем не менее этот код появляется и его не спрятать. Или если у тебя много вьюшек то столько же надо объявить переменных + инициализировать их через findViewById(). 15 вьюшек это 30 лишних строк кода. Да и целая куча моментов

Ответить
2

Никто не спорит с тем, что Kotlin Android Extensions крутейшая штука. Просто именно этот скриншот выглядит как дешёвая манипуляция. Могли бы просто написать, что в Java нет data-классов, а в Kotlin'e есть , и всем бы стало понятно о чем речь.

Ответить
0

Думаю это не только на "уже программистов" инфа рассчитана, но и на новичков. А им такой скрин будет выглядеть с довольно хорошим "вау" эффектом

Ответить
0

Спрятать его можно с помощью Lombok'a.

Ответить
4

Наконецта позитивная новость где русские чего то добились на мировой арене. Где бы больше такого найти?

Ответить
16

Я стесняюсь спросить, а радоваться надо только за русских?
Мне кажется, важнее, когда хороший продукт в принципе выходит. Еще лучше, если под свободной лицензией. А кто его сделал - не так важно.

Ответить
11

Не мешайте националисту получать свою порцию эндорфинов.

Ответить
22

А почему бы и не порадоваться за соотечественников? Как-будто бы, если ты искренне рад, что именно ребята с твоей земли сделали что-то прорывное, то это сразу национализм, скрепы и АМИЛИКАНСЫ ВСЕ ПЛАХИЕ, А У НАС РАКЕТЫ!!!!!1111!

Ответить
8

Патриотизмом в данном случае будет вопрос: почему jetbrains не российская фирма?

Ответить
8

Так сделал высший менеджмент страны, что бы выгодней было основное юрлицо в Европе регистрировать. Спасибо им родным.

Ответить
1

Тот же вопрос и Яндексу можно задать, в принципе.

Ответить
6

Ну как же, если что-то не получилось, мнения типа "русня опять обосралась, ничего нового" собирают положительный отклик, а если что-то получилось и об этом напишешь — ах ты националист, literally hitler!

Ответить
2

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

Суть простая: Ни ты лично, ни "ребята с твоей земли" не имеют никакого отношения к достижениям этих людей. И не смотря на то, что вы жрали одинаковую гречку, жили под одним флагом - это никак не объединяет вас. Потому что, в головах по-прежнему разное содержимое.

Ответить
0

На виси свои скрепы, более толстые.

Ответить
0

А я написал что национализм это что-то плохое? Национализм, это особенность мировосприятия некоторых личностей, немного архаичная на мой взгляд, типа религии, но сама по себе не плохая, если не принимает крайних форм.

Ответить
3

Нет почему. Если у меня есть русские корни что мешает мне чутка сверху порадоваться за русских. Мотивирует, тк айти корпораций с ру корнями почти нет за пределами рунета.

Ответить
1

Очень часто люди не разделяют понятия "русские" и "россияне", используя их, как синонимы. Слух порой режет, да, но далеко не всегда это говорит об узколобости

Ответить
23

Читай некрологи

Ответить
–3

Русские? Но фирма-то чешская. И на сайте нет никаких упоминаний о русских корнях, и все ценники в долларах. Забавно, что чешский антивирус Аваст можно купить за рубли, а типо российские продукты джет брейнс - только за доллары.

Ответить
–1

Они ориентируются в первую очередь не на Россию.

Ответить

Комментарий удален

0

Ну, собственно говоря чуть выше по иерархии. Вы радуетесь за JetBrains, но кажется забываете, что и сам Google вышел из под крыла простого московского паренька Серёжи.

Ответить
8

Да вы офигели, я же только-только снова начал изучать Java

Ответить
7

Ну так для того чтобы осилить Котлин, нужно хоть основы Джавы знать.

Ответить
1

Ну так на яве не только приложения пишут

Ответить
0

Как говорил мой знакомый — чтобы понять прелесть Kotlin, нужно сначала помучаться с Java. Ну и как минимум не помешает знать, во что компилируется твой код на Kotlin.

Ответить
5

Молодцы JetBrains. Спасибо им за образовательную деятельность в рамках CSC.

Ответить
1

Но ведь... Dart...
Как же так?..

Ответить
4

Dart для кроссплатформенности на замену ReactNative, а Kotlin - для натива вместо Java

Ответить
2

Вы правда знакомы с Dart?

Ответить
0

Шапочно. Парочка приложений для ознакомления

Ответить
2

Хм.
Dart (с фреймворком Flutter) по своей природе и возможностям способен полностью заменить Java в Android, облегчив и освежив весь стек разработки. Но он не обеспечивает преемственности с существующей кодовой базой Android. Приложения на нём часто требуют включения модулей, написанных на Java/Kotlin. А полный перевод Android на него — это вообще большой вызов.
Возможно, Google по прежнему держат Dart в качестве перспективного средства под их новую ОС "Fuchsia", где он станет как раз базовым средством для всего, кроме ядра. Но в мире Android, к печали дартолюбов, Google решили пойти по эволюционному пути и окучивать Kotlin. Тоже разумно, пожалуй. Ну и, видимо, разборки с Oracle за Java стали беспокоить меньше.

Ответить
2

Есть мнение, что никаких на ОС "Fuchsia" у гугла нет. А вся движуха вокруг ОС "Fuchsia"/Flutter и прочее, нужны лишь для того, чтобы Oracle не закрутил гуглу гайки с патентами и лицензией на Java. По этой же причине Гугл слезает с Java и переключается на Kotlin (снижают зависимость, но не ломают совместимость с Java-разработчиками. Все же переводить свою платформу с "стандарта" индустрии, на какой-то Dart- это рисковано)

Ответить
0

Похоже с Котлином все серьёзно, даже в мануалах примеры кода теперь на нём в приоритете.

Ответить
2

Вы сами себе и ответили на свой вопрос.
А если проще: Kotlin - это по сути улучшенная Java. Он и создавался с целью решить практические проблемы Java-программистов. Никаких революционных идей он не несёт. Работает на той же виртуальной машине Java. Поэтому переход на Kotlin логичен и обоснован. Для программистов он должен проходить легко.

Ответить
0

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

Ответить
3

swift для ios, kotlin для android. Они даже похожи друг на друга. В obj-c и java я как то совсем не могу, синтаксис ломает голову.

Ответить
2

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

А вообще, на мой взгляд, Джава и Котлин по крайней мере под ведрр — это просто как ручной и электроинструмент в строительстве или как графический планшет и перьевой дисплей в цифровом рисовании: пользоваться никто не заставляет, но время тебе сэкономит. Ну и по той же причине если бы я только начинал сейчас учить программирование, то я бы сначала писал на джаве просто потому что мне как новичку было бы проще понять, что к чему (да что уж там, я до сих пор иногда в котлине открываю джава-представление кода, чтобы посмотреть, во что он превратился, так что еще один плюс к необходимости знать джаву перед тем, как вкатываться в котлин)

Ответить
0

Я бы не советовал молодым программистам начинать с Java. Сам я на этом языке ничего серьезного не писал, честно признаюсь. Но мне приходилось использовать его при разработке под android до появления kotlin. И это было не круто. Основная проблема в том, что Java стимулирует разработчика нарушать принципы ООП и SOLID. Это очень плохо сказывается на стоимости поддержки. Так же могу отметить отсутствие аналога Linq до недавнего времени. А то, что появилось сейчас, является его жалким подобием. Ну и многословность, скорее всего вытекающая из первых двух претензий.
Kotlin лишён всех этих недостатков. Однажды попробовав его, я не написал больше ни одной строки на Java. Возможно, в enterprise Java ещё актуален, но под android у него нет шансов на фоне kotlin.

Ответить
0

Постойте ка, как это java стимулирует нарушать принципы ООП?

Ответить
0

Например, вложенные классы (включая анонимные) с доступом к this внешнего класса нарушают принцип инкапсуляции.

Ответить
0

Но это никак не мешает, придерживаться разработчику принципам ООП, дело не в технологии, а умению их пользовать...имхо.

Ответить
2

Урок географии

Ответить
0

Как и предок.

Ответить
0

А разве язык в честь этого острова назван? Одно время у джетбрейнсов в честь него IDE с голанг-плагином называлась, но ее, насколько я знаю, в итоге к релизу переименовали.

Ответить
0

А, я думал, мы просто происхождение странных названий обсуждаем.
Они сначала назвали иде для Го Гоглэнд, а потом одумались и переименовали в Голэнд. Но было слишком поздно.

Ответить
1

Да уж. Мутабельный класс - отличный пример для 2019 года.

Ответить
0

А если это объект из бд и тебе надо обновить в нём одно поле, делать все поля immutable и создавать новый объект с изменённым полем? :)

Ответить
3

Создавать новый объект. Современная модель работы с памятью позволяет удалять и создавать объекты очень быстро. Именно для этого в приведённом примере на Java есть метод copy. Но, например, в Scala метод copy позволяет создать копию объекта указав лишь поля с новыми значениями. Например, obj.copy(a=18). Мутабельность объектов это источник ошибок.

Ответить
1

50 лет жили без иммутабельного кода и еще столько же проживем.

Ответить
0

На сцену приглашается иммутабельный словарь!

Ответить
0

Вы удивитесь, но иммутабельные коллекции в скале это норма. Но приведенный вв статье пример это простой объект со свойствами, что вообще сложно оправдать.

Ответить
0

Ну посмотреть подобное в Котлине как я понял вы не потрудились?:)
https://kotlinlang.ru/docs/reference/data-classes.html
Раздел "Копирование"

Ответить
1

Молодцы ребята!

Ответить
0

Ссылка в слове «объявила» ведёт на новость двухлетней давности об изначальной поддержке Kotlin, хотелось бы увидеть свежую)

Ответить
0

Спасибо, поправил.

Ответить
0

А что насчёт Kotlin Native?

Ответить
0

Потроллю немного. А зачем писать меньше кода? Того глядишь весь проект вовремя сдадут, оттестят и в прод выкатят. Когда такое бывало? Больше кода - больше работы всем в команде, больше трудочасов и выше "полезность" и "нужность" команды. Все работу сделаете и что потом?

Ответить
0

да, зачем?
веть больше кода - больше бананов!

Ответить
0

"Петербургские программисты"...Страна должна знать своих героев!

Ответить
–1

Всё ждём когда Oracle купит jetbrains или другие мудаки сделают это и всё вернётся на свой круг.

Ответить
0
{ "page_type": "article" }

Прямой эфир

[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox_method": "createAdaptive", "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fizc" } } }, { "id": 4, "label": "240х200_mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "flbq" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfk" } } }, { "id": 6, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjog" } } }, { "id": 10, "disable": true, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "disable": true, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "bscsh", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "createAdaptive", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-223676-0", "render_to": "inpage_VI-223676-0-1104503429", "adfox_url": "//ads.adfox.ru/228129/getCode?pp=h&ps=bugf&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid10=&puid21=&puid22=&puid31=&puid32=&puid33=&fmt=1&dl={REFERER}&pr=" } }, { "id": 15, "label": "Плашка на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byudx", "p2": "ftjf" } } }, { "id": 16, "label": "Кнопка в шапке мобайл", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byzqf", "p2": "ftwx" } } }, { "id": 17, "label": "Stratum Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fzvb" } } }, { "id": 18, "label": "Stratum Mobile", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fzvc" } } }, { "id": 19, "label": "Тизер на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "p1": "cbltd", "p2": "gazs" } } } ]
Хакеры смогли обойти двухфакторную
авторизацию с помощью уговоров
Подписаться на push-уведомления
{ "page_type": "default" }