The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Доступны язык программирования Dart 2.15 и фреймворк Flutter 2.8

13.12.2021 12:38

Компания Google опубликовала релиз языка программирования Dart 2.15, продолживший развитие кардинально переработанной ветки Dart 2, которая отличается от изначального варианта языка Dart применением сильной статической типизации (типы могут выводиться автоматически, поэтому указание типов не является обязательным, но динамическая типизация больше не используется и вычисленный изначально тип закрепляется за переменной и в дальнейшем применяется строгая проверка типа).

Особенности языка Dart:

  • Привычный и простой для изучения синтаксис, естественный для программистов на JavaScript, Си и Java.
  • Обеспечение быстрого запуска и высокой производительности для всех современных web-браузеров и различных типов окружений, от портативных устройств до мощных серверов.
  • Возможность определения классов и интерфейсов, позволяющих использовать инкапсуляцию и повторно использовать существующие методы и данные.
  • Указание типов позволяет упростить отладку и выявление ошибок, делает код более ясным и читаемым, упрощает его доработку и анализ сторонними разработчиками.
  • Среди поддерживаемых типов: различные виды хэшей, массивов и списков, очереди, числовые и строковые типы, типы для определения даты и времени, регулярные выражения (RegExp). Имеется возможность создания своих типов.
  • Для организации параллельного выполнения предлагается использовать классы с атрибутом isolate, код которых выполняется полностью в изолированном пространстве в отдельной области памяти, взаимодействуя с основным процессом через отправку сообщений.
  • Поддержка использования библиотек, упрощающих поддержку и отладку больших web-проектов. Сторонние реализации функций могут подключаться в виде разделяемых библиотек. Приложения можно разбить на части и поручить разработку каждой из частей отдельной команде программистов.
  • Набор готовых инструментов для поддержки разработки на языке Dart, включая реализацию средств динамической разработки и отладки с исправлением кода на лету ("edit-and-continue").
  • Для упрощения разработки на языке Dart поставляется SDK, пакетный менеджер pub, статический анализатор кода dart_analyzer, набор библиотек, интегрированная среда разработки DartPad и плагины с поддержкой Dart для IntelliJ IDEA, WebStorm, Emacs, Sublime Text 2 и Vim.
  • Дополнительные пакеты с библиотеками и утилитами распространяются через репозиторий pub, который насчитывает около 22 тысяч пакетов.

Основные изменения в выпуске Dart 2.15:

  • Предоставлены средства для быстрого параллельного выполнения задач с изоляцией обработчиков. На многоядерных системах Dart runtime по умолчанию выполняет код приложения на одном ядре CPU, а другие ядра привлекает для выполнения системных задач, таких как асинхронный ввод/вывод, запись в файлы или совершение сетевых вызовов. Для приложений, которым необходимо параллельно выполнять свои обработчики, например, для отрисовки анимации в интерфейсе, предусмотрена возможность запуска отдельных блоков кода (isolate), изолированных друг от друга и выполняемых на других ядрах CPU одновременно с основным потоком приложения. Для защиты от ошибок, возникающих при одновременном выполнении кода, работающего с одним набором данных, в разных в isolate-блоках запрещено совместное использование изменяемых объектов, а для взаимодействия между обработчиками применяется модель на основе передачи сообщений.

    В Dart 2.15 предложена новая концепция - группы изолированных блоков (isolate groups), позволяющая организовать совместный доступ к различным внутренним структурам данных в isolate-блоках, входящих в одну группу, что позволяет значительного снизить накладные расходы при взаимодействии обработчиков в группе. Например, запуск дополнительного isolate-блока в существующей группе выполняется в 100 раз быстрее и требует в 10-100 раз меньше памяти, чем запуск обособленного isolate-блока, за счёт исключения необходимости инициализации структур данных программы.

    Несмотря на то, что в isolate-блоках в группе по-прежнему запрещён совместный доступ к изменяемым объектам, в группах используется общая heap-память, что позволяет значительно ускорить передачу объектов из одного блока в другой без необходимости выполнения ресурсоёмких операций копирования. В новой версии также разрешено передавать результат работы обработчика при вызове Isolate.exit() для передачи данных в родительский isolate-блок без операций копирования. Кроме того проведена оптимизация механизма передачи сообщений - небольшие и средние сообщения теперь обрабатываются приблизительно в 8 раз быстрее. В число объектов, которые можно передавать между isolate-блоками при помощи вызова SendPort.send(), включены некоторые типы функций, замыкания и трассировки стека.

  • В средствах для создания указателей на отдельные функции в других объектах (tear-off) сняты ограничения по созданию подобных указателей в коде конструкторов, что может быть полезным при построении интерфейсов на базе библиотеки Flutter. Например, для создания виджета Column, включающего несколько виджетов Text, можно вызвать ".map()" и передать указатели в конструктор Text.new объекта Text:
    
       class FruitWidget extends StatelessWidget {
         @override
         Widget build(BuildContext context) {
           return Column(
               children: ['Apple', 'Orange'].map(Text.new).toList());
         }
       }
    
    
  • Расширены возможности, связанные с использованием указателей на функции. Добавлена возможность применять обобщённые (generic) методы и указатели функций для создания не-generic метода и указателя:
    
       T id<T>(T value) => value;
       var intId = id<int>; // разрешено в версии 2.15 вместо "int Function(int) intId = id;"
    
       const fo = id; //  указатель на функцию id.
       const c1 = fo<int>; 
    
  • В библиотеке dart:core улучшена поддержка перечислений (enum), например, теперь можно выводить строковое значение из каждого значения enum при помощи метода ".name", осуществлять выборку значений по имени или выполнять сопоставление пар значений:
    
       enum MyEnum {
          one, two, three
       }
       void main() {
          print(MyEnum.one.name);  // будет выведено "one". 
    
          print(MyEnum.values.byName('two') == MyEnum.two);  // будет выведено "true".
    
          final map = MyEnum.values.asNameMap(); 
          print(map['three'] == MyEnum.three);  // "true".
       } 
    
  • Реализована техника сжатия указателей, позволяющая использовать более компактное представление указателей в 64-разрядных окружениях, если для адресации достаточно 32-разрядного адресного пространства (используется не более 4 ГБ памяти). Тесты показали, что подобная оптимизация даёт возможность сократить размер кучи приблизительно на 10%. Во Flutter SDK по умолчанию новый режим уже активирован для Android, а в будущем выпуске запланирован для включения для iOS.
  • В состав Dart SDK включены инструменты для отладки и анализа производительности (DevTools), которые раньше поставлялись в отдельном пакете.
  • В команду "dart pub" и репозитории пакетов pub.dev добавлены средства для отслеживания случайной публикации конфиденциальной информации, например, оставление внутри пакета учётных данных для систем непрерывной интеграции и облачных окружений. В случае выявление подобных утечек выполнение команды "dart pub publish" будет прервано с сообщением об ошибке. В случае если имело место ложное срабатывание предоставлена возможность обхода проверки через белый список.
  • В репозиторий pub.dev добавлена возможность отзыва уже опубликованной версии пакета, например, в случае выявления опасных ошибок или уязвимостей. Ранее для подобных исправлений практиковалась публикация следом корректирующей версии, но в некоторых ситуациях требуется именно отменить состоявшийся выпуск и экстренно остановить его дальнейшее распространение (например, если исправления ещё не готово или если по ошибке вместо тестовой версии был опубликован полноценный выпуск). После отзыва пакет перестаёт определяться в командах "pub get" и "pub upgrade", а на уже установивших его системах при очередном выполнении "pub get" выдаётся специальное предупреждение.
  • Добавлена защита от уязвимости (CVE-2021-22567), вызванной применением в коде unicode-символов, меняющих порядок отображения.
  • Устранена уязвимость (CVE-2021-22568), позволяющая выдать себя за другого пользователя pub.dev при публикации пакетов на сторонний сервер, принимающий oauth2-токены доступа pub.dev. Например, уязвимость может применяться для атаки на внутренние и корпоративные серверы пакетов. Разработчиков, размещающих пакеты только на pub.dev, проблема не затрагивает.



Одновременно представлен значительный релиз фреймворка построения интерфейса пользователя Flutter 2.8, который рассматривается как альтернатива React Native и позволяет на основе одной кодовой базы выпускать приложения для платформ iOS, Android, Windows, macOS и Linux, а также создавать приложения для запуска в браузерах. На основе Flutter построена пользовательская оболочка развиваемой в Google микроядерной операционной системы Fuchsia. Отмечается, что за последние шесть месяцев число приложений на Flutter 2 в Google Play Store увеличилось с 200 тысяч до 375 тысяч, т.е. почти в два раза.

Основная часть кода Flutter реализована на языке Dart, а runtime-движок для выполнения приложений написан на C++. При разработке приложений, помимо родного для Flutter языка Dart, можно использовать интерфейс Dart Foreign Function для вызова кода на C/C++. Высокая производительность выполнения достигается благодаря компиляции приложений в машинный код для целевых платформ. При этом программу не нужно перекомпилировать после каждого изменения - Dart предоставляет режим горячей перезагрузки, позволяющий вносить изменения в работающее приложение и сразу оценивать результат.

Из изменений в новом выпуске Flutter отмечается проведение оптимизации скорости запуска и потребления памяти на мобильных устройствах. Упрощено подключение приложений к бэкенд-сервисам, таким как Firebase и Google Cloud. Стабилизированы инструменты для интеграции с Google Ads. Значительно улучшена поддержка камер и web-плагинов. Предложены новые средства для упрощения разработки, например, добавлен виджет для аутентификации с использованием Firebase. Обновлён движок Flame, предназначенный на разработки 2D-игр с использованием Flutter.

  1. Главная ссылка к новости (https://medium.com/dartlang/da...)
  2. OpenNews: Язык Dart утверждён ассоциацией Ecma в качестве международного стандарта
  3. OpenNews: Google и Canonical реализовали во Flutter возможность создания десктоп-приложений для Linux
  4. OpenNews: Google отказался от включения Dart в состав браузера Chrome
  5. OpenNews: Google развивает средства создания высокопроизводительных Android-приложений на языке Dart
  6. OpenNews: Выпуск языка программирования Dart 2.0
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/56336-dart
Ключевые слова: dart, flutter
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (64) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 13:04, 13/12/2021 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • –6 +/
     
  • 1.2, Аноним (2), 13:24, 13/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Привычный и простой для изучения синтаксис, естественный для программистов на JavaScript, Си и Java.

    Во, вот это я понимаю. Безо всяких там программирований пробельчиками и прочих ересей. Ну вы поняли о чем я. Щас триггернутся и прискачут Доказывать Правду.

     
     
  • 2.3, Аноним (3), 13:28, 13/12/2021 [^] [^^] [^^^] [ответить]  
  • +11 +/
    Мы за басик, где все нужно писать словами и никаких тебе !"№#!";!%!";"!*. Ну максимум за паскаль.
     
     
  • 3.7, n00by (ok), 13:45, 13/12/2021 [^] [^^] [^^^] [ответить]  
  • +5 +/
    10 ? "Hello, world"
     
  • 3.15, Аноним (15), 14:34, 13/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Ну максимум за паскаль.

    и минимум за фортран

     
     
  • 4.51, Аноним (51), 20:07, 13/12/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    В среднем по больнице - за Кобол
     
  • 2.4, Аноним (4), 13:40, 13/12/2021 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Не жили хорошо, не стоит и начинать.
     
  • 2.41, Аноним (41), 17:28, 13/12/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Чем тебе Whitespace не угодил?
     

  • 1.5, Урри (ok), 13:43, 13/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Классический аджайл: с криком УРА побежали делать новый супер-дупер убийцу всех известных языков.

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

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

     
     
  • 2.8, Аноним (8), 13:49, 13/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Дело не в этом.
    Google сама похоронила проект. Забила и 10 лет не развивала.

    JavaScript шагнула вперёд.
    Сейчас и цели и задачи у проекта другие. Это vendor-lock как у Apple.

     
     
  • 3.12, Аноним (12), 14:16, 13/12/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >Это vendor-lock как у Apple.

    В чем это выражается? Flutter вроде можно использовать и для iOS.

     
     
  • 4.22, Аноним (8), 15:01, 13/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    В том что вся разработка (компетенции / экспертиза) и по Dart, и по Flutter, и по инструментам разработки находится в одних руках. И Google будет навязывать свою волю (как Oracle с Java).

    И Fuchsia поэтому на этом и написана. Android слишком open-source, можно выпиливать Google сервисы, делать свои клоны как Huawei и т.п.

    А когда контролируется весь стек...

    Я не вижу ни одной причины почему нужен Dart и Flutter, как не за этим. Есть куча языков. Есть Kotlin (и даже Kotlin Native), есть JavaScript, есть Typescript, есть Rust, есть Swift. Почему не взять их? Долгосрочная скрытая стратегия.

    Они хотят именно своё и полностью контролировать.

     
     
  • 5.30, Аноним (30), 15:36, 13/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Это, ... да! А почему не на Rust?
     
     
  • 6.36, Аноним (36), 16:51, 13/12/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Потому что на rust не пишут новые проекты, на нём можно только переписывать существующие и обязательно постить об новости на opennet.
    Возможно новости создаются сами на этапе сборки.

    (по крайней мере такое ощущение создалось у меня)

     
  • 5.39, danonimous (?), 17:20, 13/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Глянул в Wikipedia

    Kotlin: Появился в 22.07.2011
    Dart:   Появился в 10.10.2011

    Стартанули одновременно. Kotlin - vendor lock от JetBrains.

    А так да, цели dart были сомнительные - заменить JavaScript в браузерах. Но то, что сейчас у них получилось - мне нравится больше Котлина. Синтаксис максимально легко читаемый.

     
     
  • 6.69, GraiT (?), 09:56, 14/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Касательно синтаксиса. По текущей новости уже не так, кое-как свыкаешься с с++, а тут начали отсебятину. Проще тогда на с++ и оставаться, а dart чисто для интерфейса, тем более что без полноценных тредов в нормальном бэке делать вообще нечего. А все эти поделки на руби, питоне и прочем, просто вызывают ужас, вроде должно сокращать количество кода, но смотришь на исходники и появляется обратный резонанс...
     
  • 5.54, proninyaroslav (ok), 21:57, 13/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > В том что вся разработка (компетенции / экспертиза) и по Dart, и по Flutter, и по инструментам разработки находится в одних руках

    А разработка Qt вся в руках Qt Company, и что это меняет? Никто не пользуется им?

    > Есть Kotlin (и даже Kotlin Native)

    Который тоже в руках одной компании под названием JetBrains, в том числе KMM и Compose Multiplatform.

     
     
  • 6.56, Аноним (8), 23:18, 13/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Целеполагание разное. Совсем разные причины для чего создавался Kotlin или QT vs Dart.
     
  • 6.59, x3who (?), 02:01, 14/12/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > А разработка Qt вся в руках Qt Company, и что это меняет? Никто не пользуется им?

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

     
     
  • 7.71, Аноним (71), 18:00, 14/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Да полно, палются по Qt dll в папке с прогой. Ну просто для примера приведу DaVinci Resolve.
     
  • 7.72, proninyaroslav (ok), 19:32, 14/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    >> А разработка Qt вся в руках Qt Company, и что это меняет? Никто не пользуется им?
    > Ну кто-то пользуется, возможно. Но лично мне встречались только опенсорсные проекты. Чтобы
    > бусинес залип на это недешевое поделие - ни разу не видел.

    Бусинес скорее будет использовать .NET, так как в целом не ориентированы на кроссплатформу и Qt им побоку.

     
     
  • 8.76, x3who (?), 02:12, 16/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Я преимущественно вижу джаво во все поля и веб-интерфейсы Было просто сан оракл... текст свёрнут, показать
     
  • 6.70, Аноним (71), 17:58, 14/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Фигасе вся в руках Qt Company, а гигантское сообщество KDE по-вашему вообще вклада не вносит?
     
  • 3.17, Урри (ok), 14:56, 13/12/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Google сама похоронила проект. Забила и 10 лет не развивала.

    Да? Уж извините, но попрошу пруфов.

    > Сейчас и цели и задачи у проекта другие. Это vendor-lock как у Apple.

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

     
     
  • 4.28, Аноним (8), 15:21, 13/12/2021 [^] [^^] [^^^] [ответить]  
  • +12 +/
    На вики неплохо написано.

    Dart was unveiled at the GOTO conference in Aarhus, Denmark, October 10–12, 2012.

    Dart 1.0 was released on November 14, 2013.

    Как замена JavaScript. Хотели впихнуть (и вроде впихнули) Dart VM в Chrome. И кроме Chrome его нигде не было. Я думаю понятно зачем это было сделано (как и сейчас). Но не пошло (разрабочики не захотели этот vendor-lock). Потом переключились на компилирование в JavaScript.

    In August 2018, Dart 2.0 was released, with language changes including a sound type system.

    Вот все эти 5 лет (а казалось что больше) этот Dart был в стагнации и практически не развивался. Он был похоронен. Но потом мобилки выстрелили и Dart восстал из пепла.

    При том что Kotlin уже был.

    Kotlin v1.0 was released on February 15, 2016.

    Тем более почитайте скандал про секретный проект Google про созданию vendor-lock на Chrome (в Twitter есть разбор судебного разбирательства и документов). Логин в Chrome (и автоматическое разлогинивание и выкидывание из сервисов Google) - это всё оттуда, а не потому что "удобно".

    Google это одна из худших и мразотнейших корпораций сейчас, и уже давно.

    Поэтому пока вы думаете что Dart это просто круто и удобно и не более, на самом деле там какой-то ещё один секретный проект по созданию vendor-lock на Fuchsia в будущем. И Dart и Flutter в нём - ключевые компоненты.


    https://en.m.wikipedia.org/wiki/Dart_(programming_language)#:~:text=Dart%

     
     
  • 5.33, Аноним12345 (?), 15:49, 13/12/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Первая мысль, которая появилась при чтении этой новости - о боже, это опять гугл
    Сразу возникла ассоциация с жабой
     
  • 5.48, Урри (ok), 19:44, 13/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Ценно. Спасибо.
     
  • 3.25, Брат Анон (ok), 15:14, 13/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Flutter спокойно используется в golang. ЧЯДНТ?
     

  • 1.6, Аноним (8), 13:44, 13/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Выглядит круто. Видно что очень много усилий вкладывается. Достойный конкурент React Native.

    Кстати, мы у них спёрли движок отрисовки SKIA, и скоро в React Native можно рисовать любой сложности интерфейс и ещё больше, чем можно во Flutter.

     
  • 1.9, bugmenot (??), 13:55, 13/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > язык программирования Dart

    Без Flutter ненужный. Интересно, это хорошо или плохо?

     
  • 1.11, Аноним (12), 14:10, 13/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Как все просрать, а потом догонять. Внезапно оказалось, что для достижения успеха язык программирования должен быть грамотно спроектирован, одноих маркетинговых усилий недостаточно. Хороший урок для создателей других языков, питающих те же самые иллюзии.
     

     ....ответы скрыты (3)

  • 1.20, Аноним (20), 15:00, 13/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Чем это лучше Typescript?
     
     
  • 2.23, Аноним (23), 15:03, 13/12/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Правильнее будет спросить чем flutter лучше angular
     
     
  • 3.26, user90 (?), 15:15, 13/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Кодите за еду?)
     
     
  • 4.40, Аноним (23), 17:26, 13/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Нет, а ты?
     
  • 4.53, deeaitch (ok), 21:27, 13/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Ахаха, походу ты угадал чел. Они кодят за еду.
     
  • 4.78, Skif (ok), 14:49, 21/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Все кодят за еду. Просто так никто не хочет кодить.
     
  • 2.27, Брат Анон (ok), 15:17, 13/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Давно в TypeScript есть собственный графический движок, мультипроцессорность, возможность компиляции в машинный код?
     
     
  • 3.29, Аноним (8), 15:31, 13/12/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    В React Native это есть. Там можно использовать Typescript по полной.

    Потом TS компилируется в JS, а JS в байт-код. И только байт-код выполняется на мобилке или десктоп.

    У Flutter (Dart это вообще просто язык) нет "своего" графического движка. Там используется Skia внутри. Которая и в Android используется, и в Chrome для отрисовки.

    Уже добавили Skia в React Native (будет гораздо больше глубокая интеграция, те Skia можно будет юзать по полной как API, включая язык шейдеров), в отличии от Flutter где это просто внутренняя имплементация (как и в Android).

    Есть графический движок https://github.com/BabylonJS/BabylonReactNative.

    Много чего есть.

     
     
  • 4.65, Брат Анон (ok), 08:59, 14/12/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > В React Native это есть. Там можно использовать Typescript по полной.

    Понятно. Веб-рендер. -1

    > Потом TS компилируется в JS, а JS в байт-код. И только байт-код
    > выполняется на мобилке или десктоп.

    Понятно. Компилятора нет. -1.

    > У Flutter (Dart это вообще просто язык) нет "своего" графического движка. Там
    > используется Skia внутри. Которая и в Android используется, и в Chrome
    > для отрисовки.

    Угу. Нативная либа. +1

    > Уже добавили Skia в React Native (будет гораздо больше глубокая интеграция, те
    > Skia можно будет юзать по полной как API, включая язык шейдеров),
    > в отличии от Flutter где это просто внутренняя имплементация (как и
    > в Android).

    Будет, обещаем, планируем, сделаем. потом три раза переделаем. Знаем ,плавали. -1 за пока нет, и -1 за завтрак.

    > Есть графический движок https://github.com/BabylonJS/BabylonReactNative.

    Это всё веб-рендер, а значит тормоз с кучей глюков. -1.

    > Много чего есть.

    Пока гулькин нос есть.

     
     
  • 5.68, Аноним (8), 09:26, 14/12/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ты бы хоть разобрался в том, о чем пишешь. Хотя бы чуть-чуть.

    В React Native нет ни Web Render, ни Web технологий, ни HTML, ни CSS.

    Там нативные, 100% нативные компоненты (View) платформы, на которой он запускается. В отличие от Flutter, где это просто эмуляция (как WebView, только через Skia).

    Компилятор есть. Он компилирует JavaScript в байт-код. Как C# или Java.

    Babylon JS Native это всё абсолютный натив.

    Про Skia уже всё готово, занимаются последними приготовлениями типа написания документации и примеров.

     
     
  • 6.77, Брат Анон (ok), 09:59, 16/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Короткий ответ: нет. Иди учи матчасть.

     

  • 1.35, Аноним (35), 16:33, 13/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    гуглярщики какой-то язык придумали. чисто для своего Flutter. не надо. сделайте как люди. сделайте Flutter с нормальным известным языком. хоть с паскалем. хоть с питоном. но НОРМАЛЬНЫМ известным, блт!!!
     
     
  • 2.37, Аноним (37), 17:12, 13/12/2021 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Кстати да. Языков напридумано невозможное количество, и вот те нате, ещё один.
     
  • 2.43, Аноним (43), 17:56, 13/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    >> сделайте как люди

    Это как? Хорошо продумано и без вендорлока?

    А гугл за прибыль гугла

     
  • 2.50, Урри (ok), 19:48, 13/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Дык запилили же "интерфейс Dart Foreign Function". Используй из чего хочешь.
     

  • 1.38, Kuromi (ok), 17:13, 13/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    "Реализована техника сжатия указателей, позволяющая использовать более компактное представление указателей в 64-разрядных окружениях, если для адресации достаточно 32-разрядного адресного пространства (используется не более 4 ГБ памяти). Тесты показали, что подобная оптимизация даёт возможность сократить размер кучи приблизительно на 10%. Во Flutter SDK по умолчанию новый режим уже активирован для Android, а в будущем выпуске запланирован для включения для iOS."

    Ого, а помнится для такого в Линуксе целую архитектуру пытались сделать, х32 кажется, чтобы 64-ех битный режим процессора и 32-ух битные указатели.

     
     
  • 2.44, Аноним (43), 17:58, 13/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    От туда и взята идея
     
  • 2.46, Аноним (46), 18:31, 13/12/2021 [^] [^^] [^^^] [ответить]  
  • +3 +/
    >Ого, а помнится для такого в Линуксе целую архитектуру пытались сделать, х32 кажется, чтобы 64-ех битный режим процессора и 32-ух битные указатели.

    Не пытались, а именно сделали и она была в ядре 9 лет. Сейчас поддержка этой архитектуры отдана пространству пользователя, для чего у mmap появился флаг MAP_32BIT. Но как мы видим даже Debian уже не собирает x32.

     
     
  • 3.47, Kuromi (ok), 19:26, 13/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    >>Ого, а помнится для такого в Линуксе целую архитектуру пытались сделать, х32 кажется, чтобы 64-ех битный режим процессора и 32-ух битные указатели.
    > Не пытались, а именно сделали и она была в ядре 9 лет.
    > Сейчас поддержка этой архитектуры отдана пространству пользователя, для чего у mmap
    > появился флаг MAP_32BIT. Но как мы видим даже Debian уже не
    > собирает x32.

    Сделать-то сделли, но довольно быстро свернули. Как видится решили что возня того не стоит.

     

  • 1.45, ms is peace of s (?), 18:05, 13/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Может стать отчасти заменой java, если и в дальнейшем будут развивать как язык общего назначения и получится раза в 2 и более быть компактней по ОЗУ. Тогда есть шанс, что взлетит. Я бы возможно перешел на таких условиях, хотя и сейчас OpenJ9 выручает. Ну и плюс нужно что-то не хуже мавена для разрешения зависимостей и сборки.
     
     
  • 2.57, Аноним (57), 00:18, 14/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    kotlin станет заменой java. Гугл уже его юзает.

    Dart - это внебрачный сын какой-то. Вроде синтаксис знакомый, но на самом деле нет. Чего только стоит отказ от модификаторов доступа https://github.com/dart-lang/sdk/issues/33383

     

  • 1.55, Аноним (55), 22:30, 13/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Бессмымленный и беспощадный)
     
  • 1.58, Аноним (-), 00:27, 14/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Мертворожденное. Если в золотые времена никому не уперлось, то сегодня  и от гугола подавно.
     
  • 1.60, Уася (?), 03:49, 14/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Комментаторы квакают, а тем временем в русском телегочате уже 6.5к почитателей флуттера и Дарта, и 4к людей в чате с вакансиями
     
     
  • 2.61, Аноним (12), 04:55, 14/12/2021 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Это хорошо, что там много людей, а вакансий, вакансий-то там сколько?
     
     
  • 3.62, Флаттбой (?), 07:31, 14/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    10 на весь мир
     
  • 2.63, Аноним (63), 07:34, 14/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Флаттбои используют Matrix с соответствующим Флатт клиентом.
    Телеграм для смузихлебов и мамкиных скакунов на площадях.
     
  • 2.66, Аноним (57), 09:19, 14/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > и 4к людей в чате с вакансиями

    Это совсем не означает, что там 4к годных разработчиков.

     
     
  • 3.74, Аноним (-), 21:54, 14/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > 6.5к почитателей флуттера и Дарта,

    где тут хоть слово про разработчиков ?

     

  • 1.73, GrayRats (ok), 19:41, 14/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    да там не только это , еще Sвей для этих - ваших - айфонов

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру