Не меняются только самые мудрые и самые глупые.

Сын торчит в интернете. Мать: - Сынок, иди кушать! ...

Из-за изменения правил в Google Play оставлена урезанная версия KDE Connect
Tue, 19 Mar 2019 23:21:37 +0300

Cloudflare представил инструменты для выявления перехвата HTTPS
Tue, 19 Mar 2019 10:20:22 +0300

Завершено преобразование SUSE в независимую компанию
Sat, 16 Mar 2019 10:45:14 +0300

GitHub меняет политику конфиденциальности и условия соблюдения санкций
Fri, 15 Mar 2019 08:47:25 +0300

Новые проекты Linux Foundation по финансированию, безопасности и совместной разработке СПО
Thu, 14 Mar 2019 21:49:39 +0300

Amazon представил редакцию Elasticsearch, решающую проблемы с открытостью кода
Thu, 14 Mar 2019 10:05:38 +0300

Debian 10 "Buster" перешёл на стадию полной заморозки перед релизом
Wed, 13 Mar 2019 08:20:14 +0300

Компания Mozilla ввела в строй сервис обмена файлами Firefox Send
Tue, 12 Mar 2019 20:11:34 +0300

Google, SiFive и WD основали альянс для продвижения открытых чипов и SoC
Tue, 12 Mar 2019 11:36:21 +0300

Разработанный проектом Let's Encrypt протокол ACME утверждён в качестве интернет-стандарта
Tue, 12 Mar 2019 10:31:02 +0300

Microsoft портировал DTrace для Windows
Tue, 12 Mar 2019 10:03:09 +0300

Компания F5 Networks поглотила NGINX за 670 млн долларов
Tue, 12 Mar 2019 06:46:18 +0300

Google представил инициативу по стимулированию написания документации для СПО
Mon, 11 Mar 2019 22:22:06 +0300

Отчёт SPI о пожертвованиях Debian, X.Org, systemd, FFmpeg, OpenWrt и другим проектам
Mon, 11 Mar 2019 19:39:18 +0300

Майкл Штапельберг ушёл из числа мэйнтейнеров проекта Debian
Mon, 11 Mar 2019 12:13:31 +0300

Новости OPENNET
Новости

Увидел свет релиз языка программирования Dart 2. Dart 2 является не столько новой значительной веткой, сколько общим переосмыслением целей и задач проекта. Разработчики видят Dart 2 в качестве языка для Web и мобильных систем, оптимизированного для разработки компонентов, выполняемых на стороне клиента.

Dart 2 отличается от изначального варианта языка Dart кардинальным изменением подхода к типизации. Если в Dart 1.x определение типов было необязательным и разработчик мог удалить все аннотации типов без влияния на поведение приложения, то в Dart 2 применена строгая статическая типизация, но при этом типы могут выводиться автоматически и аннотации типов по прежнему не являются обязательными. Например, при указании "var i = 1" в Dart 2 для переменной "i" будет выведен тип int, в то время как в Dart 1 в этому случае была бы использована динамическая типизация (тип dynamic).

В Dart 2 поддержка режима "checked", при котором выполняются ограниченные проверки типов, будет прекращена, его место займёт режим "strong", обеспечивающий строгую проверку всех типов. Для упрощения подготовки к переходу на Dart 2 в Dart 1.x также добавлен режим "strong", при выборе которого поведение по использованию типов приближено к Dart 2. Строгая типизация позволяет обеспечить быструю компиляцию в JavaScript при помощи компилятора dartdevc без необходимости применения специальных виртуальных машин. Вместо

Dartium, сборки браузера Chromium с Dart VM, для тестирования приложений отныне предлагается использовать компиляцию в JavaScript и любые штатные браузеры.

Из изменений Dart 2 также можно отметить проведение чистки синтаксиса и переработку многих инструментов, которые теперь нацелены на предоставление удобных и эффективных возможностей для web-разработки и создания мобильных приложений. Вместо применения отдельного языка разметки для компоновки элементов интерфейса в Dart 2 представлена возможность определять виджеты для интерфейса без обязательного использования ключевых слов new и const. Например:


// В Dart 1.x:
Widget build(BuildContext context) {
  return new Container(
    height: 56.0,
    padding: const EdgeInsets.symmetric(horizontal: 8.0),
    decoration: new BoxDecoration(color: Colors.blue[500]),
    child: new Row(
      ...
    ),
  );
}

// В Dart 2:
Widget build(BuildContext context) =>
  Container(
    height: 56.0,
    padding: EdgeInsets.symmetric(horizontal: 8.0),
    decoration: BoxDecoration(color: Colors.blue[500]),
    child: Row(
      ...
    ),
);

Для создания мобильных приложений предлагается использовать фреймворк Flutter, на основе которого также построена пользовательская оболочка развиваемой в Google новой микроядерной операционной системы Fuchsia. Для разработки для Web реализован набор специфичных библиотек, таких как dart:html, а также web-фреймворк Angular. Также продвигается возможность создавать однородные системы, использующие единую общую кодовую базу, при разработке приложений для Android, iOS и Web. Например, в мобильных приложениях и Web-интерфейсах AdWords Express и AppTree совместно используется от 50% до 70% общего кода.

Особенности языка 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, который насчитывает более 3 тысяч пакетов.

64.2803 72.9389 0.5762 9.5942

НОВОСТИ: Релиз набора компиляторов LLVM 8.0 Wed, 20 Mar 2019 22:59:20 +0300

После шести месяцев разработки представлен релиз проекта LLVM 8.0 (Low Level Virtual Machine) - GCC-совместимого инструментария (компиляторы, оптимизаторы и генераторы кода), компилирующего программы в промежуточный биткод RISC-подобных виртуальных инструкций (низкоуровневая виртуальная машина с многоуровневой системой оптимизации). Сгенерированный псевдокод может быть преобразован при помощи JIT-компилятора в машинные инструкции непосредственно в момент выполнения программы.

???????@Mail.ru Opera Firefox INFOBOX - хостинг Google Chrome