Please enable JavaScript to use this page!

AllTalks site logo
🍔

Кросс платформенное объектно ориентированное взаимодействие C# и C++

Забудем ужасы C++/CLI и рассмотрим альтернативу. При всей простоте использования технологии P/Invoke, она, увы, пригодна лишь для использования библиотек, предоставляющих функции в C-стиле. Объектно-ориентированное же взаимодействие с нативным кодом традиционно реализовывалось средствами C++/CLI, который не совместим с .NET Core (пока) и с не-Windows платформами (вообще). С движением .NET на другие платформы возникает проблема взаимодействия с неуправляемой частью приложения, которую как-то надо решать. В докладе будет представлено решение, которое: позволяет двухстороннее прозрачное взаимодействие между C++ и C# на уровне интерфейсов, которые могут реализовывать как классы C#, так и классы C++; обеспечивает контроль использования памяти на основе подсчёта ссылок; не изобретает новый велосипед, а не совсем традиционно использует давно проверенные временем и тысячами приложений технологии и принципы; на текущий момент успешно используется в проекте Avalonia для взаимодействия C#C++Objective-C без завязок на хитропропатченные рантаймы типа Xamarin.Mac.


DotNext

72 min

Unlocking performance improvements in .NET

Stephen Toub

. Performance is at the heart of .NET, with an incredible amount of energy invested in every release towards making the stack faster and more scalable. In this talk, Stephen Toub will walk through ex…

C++ Russia

60 min

Initialisation in modern C++

Timur Doumler

Initialisation semantics is widely regarded as one of the most difficult aspects of the C++ language. We have many different kinds of initialisation and many different syntaxes for it, and they inter…

DotNext

59 min

Многопоточность в .NET: когда производительности не хватает

Евгений Пешков

Ошибки и проблемы использования многопоточности в .NET. Платформа .NET предоставляет множество готовых примитивов синхронизации и потокобезопасных коллекций. Если при разработке приложения нужно реа…

C++ Russia

58 min

ABI compatibility is not a MAJOR problem

Javier García Sogo

Too often, C++ developers tend to ignore ABI compatibility problems and think that incompatibilities are limited to changes in the interface of the library motivated by new features or bugs. However,…

DotNext

71 min

Introduction to open source Uno Platform

Jérôme Laban

Developing cross-platform apps for Windows, iOS, macOS, Android, and WebAssembly can be a complex process, especially when it comes to the user interface. Each platform has its ways of defining dynam…

Tver.io

41 min

Wasm 101

Полина Гуртовая

Совсем не хардкорное введение в WebAssembly. Напишем немного кода для стековой виртуальной машины, заглянем под капот v8. И, чтобы нам точно было не скучно, добавим немного C++ и Rust.

DotNext

54 min

Что нового в C# 8

Дмитрий Нестерук

Новых фич C# 8 много, надо про все знать. Очередной релиз C# приносит достаточно много новых фич, которые хочется обсудить. Тут присутствуют как кардинальные изменения, которые затрагивают весь язык…

DotNext

49 min

Кросс процедурный анализ потока управления

Андрей Дятлов

Вы задумывались, как ReSharper анализирует ваш код? В докладе Андрей с практическими примерами расскажет о том, как писать кросс-процедурные анализы кода и почему это теперь необходимо для самых раз…

C++ Siberia

51 min

Обзор C++ кода глазами параноика

Филипп Хандельянц

Код языка C++ подобен минному полю. Поэтому качественный внимательный code-review крайне полезен. Этот доклад улучшит ваши навыки в этом нелёгком деле. Мы поговорим о некоторых паттернах ошибок, о ко…

DotNext

61 min

Простая и быстрая реализация парсеров на C#

Карлен Симонян

Создание парсеров и лексических анализаторов — затратное по времени дело. Обычно к ним прибегают при необходимости реализации различного рода формальных грамматик, в том числе предметно-ориентированн…

DotNext

70 min

Могу ли я спрыгнуть с F5-корабля прямиком в гиперпространство в реальном времени?

Александр Якунин

Каковы связи между обновлениями, работающими в режиме реального времени, инкрементными сборками, кэшированием, избыточностью микросервиса и, наконец, популярностью React? Александр покажет, как набор…

C++ Siberia

72 min

Управление ресурсами: линейные типы спешат на помощь

Виталий Брагилевский

Как известно, языки программирования слабы в описании того, что нужно делать разработчикам. Они, конечно, пытаются помочь, но не всегда успешно. В результате программы содержат множество ошибок, что …

C++ Russia

92 min

C++17 — the biggest traps

Nicolai Josuttis

C++17 is a huge combination of small new features both in the language and the library. These features have more poser but also more traps than you might expect. These traps are not theoretical. They…

C++ Russia

57 min

Метаклассы в C++17: фантастика? Реальность!

Сергей Садовников

Доклад посвящён одному из подходов реализации метаклассов (пропозал p0707 rev3 — последний доступный публично на текущий момент) для тех версий компиляторов, которые не поддерживают ни статической ре…

DotNext

71 min

SOLID – The five commandments of good software

Chris Klug

The SOLID principles. The five commandments of the software world. Forgotten for years, as developers focused on JavaScript frameworks with stupid names and complicated patterns. Not grasping that th…

C++ Russia

53 min

Оптимизации времени компиляции. Даем больше информации компилятору

Кирилл Тихонов

В докладе будут рассмотрены способы передачи компилятору информации об используемых данных и действиях над ними: от single compilation unit, link time optimization и static initialization до consteva…

C++ Russia

52 min

Шаблоны C++ и базы данных

Сергей Федоров

Когда мы работаем с БД, мы зачастую получаем сырые буферы, в то время как хочется получать данные в виде структур, классов и контейнеров C++. Рассказ о проектировании и реализации драйвера PostgreSQ…

C++ Russia

51 min

Эволюция метапрограммирования: как правильно работать со списками типов

Олег Фатхиев

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

DotNext

73 min

Building a cross-platform 2D game with MonoGame and C#

Pavel Yosifovich

This talk shows how to write a 2D game using the MonoGame framework with C# that runs on Windows, Linux, Android, and other platforms supported by MonoGame. MonoGame is a framework originally modele…