[Add 4] crossplatform .netStanislav SidristyМое выступление на ADD-4. Все материалы, ровно как и текст выступления доступны по ссылке: bit.ly/xamarin-add4
Средства кросплатформенной разработки. Xamarin и ApperCodeGoSharpКак создавать приложения для iOs, Android и WindowsPhone и опираться на общий код на C#. Как ApperCode дополняет Xamarin.
Средства кросплатформенной разработки. Xamarin и ApperCodegeekfamilyrussiaКак создавать приложения для iOs, Android и WindowsPhone и опираться на общий код на C#. Как ApperCode дополняет Xamarin.
Monkey Talk - кросс-платформенное средство автоматизации тестирования мобильн...SQALabПрезентация Владислава Акулича на SQA Days-16
14-15 ноября 2014, Санкт-Петербург, Россия
www.sqadays.com
Online TechTalk “Flutter Mobile Development”GlobalLogic UkraineНещодавно відбувся Online TechTalk “Flutter Mobile Development”!
Під час заходу спікери розібрали, що таке Flutter, та навіщо використовувати саме його. Також поговорили про основні принципи та підходи до розробки на Flutter, його перспективи та найпопулярніші аплікації зроблені на ньому.
Деталі та відео заходу: https://bit.ly/3mKszBR
От пояса с инструментами к полноценной лабораторииYandexОт пояса с инструментами к полноценной лаборатории
Постпроцессоры, SVG, автоматизация разработки и тестирования, эксперименты в браузере, живое документирование и многое другое.
Роман Комаров, Яндекс
Разработчик интерфейсов. В Яндексе с 2009 года, отвечает за вёрстку Яндекс.Почты. Экспериментирует над вёрсткой, интересуется фронтендом, ищет способы писать код быстро и качественно. Является мейнтейнером CSS-препроцессора Stylus.
Экскурс в мир WEB разработки-ДоминантаСекционный доклад
Экскурс в мир WEB разработки
Дмитрий Лаабе
Генеральный директор и основатель рекрутинговой компании -Доминанта
Технический директор и программист
портала Айти-Событие
Россия. Санкт-Петербург
http://it-sobytie.ru/events/3120
Станислав Флусов «Sharing общих сборок между процессами и доменами в IIS»SpbDotNet CommunityThe document discusses optimizing memory usage by sharing common assemblies between processes and application domains. It describes how assemblies can be shared to reduce overall memory usage and load times. Specific techniques discussed include installing assemblies in the Global Assembly Cache (GAC) and using NGEN to generate native images to enable code sharing between processes. Real-world examples demonstrate how these techniques can significantly reduce total memory usage and assembly load times.
Егор Гришечко «У вас найдётся минутка, чтобы поговорить о блокчейне?»SpbDotNet CommunityЕгор Гришечко «У вас найдётся минутка, чтобы поговорить о блокчейне?»
More Related Content
Similar to Павел Федотовский «Как мы разрабатывали приложение для DotNetRu на Xamarin.Forms» (20)
Средства кросплатформенной разработки. Xamarin и ApperCodeGoSharpКак создавать приложения для iOs, Android и WindowsPhone и опираться на общий код на C#. Как ApperCode дополняет Xamarin.
Средства кросплатформенной разработки. Xamarin и ApperCodegeekfamilyrussiaКак создавать приложения для iOs, Android и WindowsPhone и опираться на общий код на C#. Как ApperCode дополняет Xamarin.
Monkey Talk - кросс-платформенное средство автоматизации тестирования мобильн...SQALabПрезентация Владислава Акулича на SQA Days-16
14-15 ноября 2014, Санкт-Петербург, Россия
www.sqadays.com
Online TechTalk “Flutter Mobile Development”GlobalLogic UkraineНещодавно відбувся Online TechTalk “Flutter Mobile Development”!
Під час заходу спікери розібрали, що таке Flutter, та навіщо використовувати саме його. Також поговорили про основні принципи та підходи до розробки на Flutter, його перспективи та найпопулярніші аплікації зроблені на ньому.
Деталі та відео заходу: https://bit.ly/3mKszBR
От пояса с инструментами к полноценной лабораторииYandexОт пояса с инструментами к полноценной лаборатории
Постпроцессоры, SVG, автоматизация разработки и тестирования, эксперименты в браузере, живое документирование и многое другое.
Роман Комаров, Яндекс
Разработчик интерфейсов. В Яндексе с 2009 года, отвечает за вёрстку Яндекс.Почты. Экспериментирует над вёрсткой, интересуется фронтендом, ищет способы писать код быстро и качественно. Является мейнтейнером CSS-препроцессора Stylus.
Экскурс в мир WEB разработки-ДоминантаСекционный доклад
Экскурс в мир WEB разработки
Дмитрий Лаабе
Генеральный директор и основатель рекрутинговой компании -Доминанта
Технический директор и программист
портала Айти-Событие
Россия. Санкт-Петербург
http://it-sobytie.ru/events/3120
Станислав Флусов «Sharing общих сборок между процессами и доменами в IIS»SpbDotNet CommunityThe document discusses optimizing memory usage by sharing common assemblies between processes and application domains. It describes how assemblies can be shared to reduce overall memory usage and load times. Specific techniques discussed include installing assemblies in the Global Assembly Cache (GAC) and using NGEN to generate native images to enable code sharing between processes. Real-world examples demonstrate how these techniques can significantly reduce total memory usage and assembly load times.
Егор Гришечко «У вас найдётся минутка, чтобы поговорить о блокчейне?»SpbDotNet CommunityЕгор Гришечко «У вас найдётся минутка, чтобы поговорить о блокчейне?»
Слава Бобик «NancyFx для самых маленьких»SpbDotNet CommunityNancyFX is a lightweight web framework for .NET. It emphasizes convention over configuration, testability, and customizability. Nancy modules handle requests and responses. The framework uses pipelines to run code before, after, and on errors. Dependency injection can be configured to resolve dependencies. Routing and model binding are supported. Views can be rendered from code or partial views. Authentication and authorization can be added. NancyFX aims to have minimal overhead and be easy to get started with while running on .NET Core.
Иван Кожин «Saritasa Tools или ещё один подход к архитектуре приложения»SpbDotNet CommunityИван Кожин «Saritasa Tools или ещё один подход к архитектуре приложения»
Артём Акуляков - F# for Data AnalysisSpbDotNet CommunityF# is well-suited for data analysis tasks due to its capabilities in data access, manipulation, visualization and integration with other tools. The document outlines several F# libraries and techniques for:
1. Accessing data from various sources using FSharp.Data and type providers.
2. Visualizing data with libraries like FSharp.Charting.
3. Manipulating and transforming data using techniques like Deedle frames, Math.NET for statistics, and calling R from F#.
4. Leveraging parallelism through {m}brace for distributed computing.
Анатолий Кулаков «The Metrix has you…»SpbDotNet CommunityThe document discusses key considerations for time series data collection and analysis including performance, compression, real-time analysis, statistics and aggregation, retention policies, and handling high loads. It provides examples of tools that can be used for collecting metrics from applications and infrastructure, storing the time series data, visualizing and querying the data, and processing it for alerts and anomaly detection.
Дмитрий Верескун «Синтаксический сахар C#»SpbDotNet CommunityThis document summarizes new syntactic features introduced in recent versions of C#, including C# 6.0, 7.0, and 7.1. It provides examples of properties with auto-properties and initializers, lambda expressions used in properties and methods, inline variables, null expressions with null-coalescing and null-conditional operators, throw expressions, local functions, value tuples, and pattern matching. It also briefly mentions features planned for future versions like C# 7.2, 8, and beyond such as read-only references, nullable reference types, and default interface methods.
Александр Саитов «Основы профилирования и оптимизации приложений в .NET»SpbDotNet CommunityАлександр Саитов «Основы профилирования и оптимизации приложений в .NET»
Сергей Лёвкин «Технологии Microsoft для актуальных трендов»SpbDotNet CommunityThe document summarizes a NET Meetup event in 2017 that covered topics around Microsoft's cognitive services, Azure machine learning, deep learning with CNTK, intelligent apps and things, mixed reality with Hololens, digital twins, blockchain, conversational systems like Cortana and bots, Service Fabric for microservices, Azure Functions, security with Azure Security Center, and contact information. It provided an overview of Microsoft's modern technological trends and the .NET development ecosystem.
Никита Каменский «Есть ли жизнь с UWP?»SpbDotNet CommunityThis document discusses Universal Windows Platform (UWP) and some key features:
- UWP allows developers to build apps that run on Windows desktop, mobile, Xbox and IoT using a single codebase.
- It covers UWP versions and features added over time like Windows Ink, Cortana APIs, and payments.
- Developers can use adaptive code and APIs to check for capabilities and support across devices.
- .NET Native compiles code to native machine code for improved performance compared to just-in-time compilation.
- Features like {x:Bind}, visual states, and defer loading strategies help optimize the user experience for different devices using a single XAML codebase.
ДотаНетоЛогия: СПб 2017SpbDotNet CommunityThe document contains a collection of links to various resources about programming including Twitter profiles of programmers, YouTube videos on topics like Google Cloud Platform and ASP.NET Core, and blog posts on using Roslyn and enforcing coding guidelines. It also contains messages of encouragement and contact information for Anatoly Kulakov.
8. Плюсы Xamarin.Forms
Создание приложения под “все” платформы с использованием
C# + XAML
Почему Xamarin.Forms
1. Нормальный язык (С#)
2. XAML
3. Нативные контролы
4. Хорошая документация
5. Бесплатно
10. Поддерживаемые платформы
Platform Backend Status Supported By
Android Stable Xamarin
iOS Stable Xamarin
Tizen Stable Third Party - Samsung
UWP Stable Xamarin
macOS Preview Xamarin
GTK# Early Preview Community
WPF Early Preview
Community
https://github.com/mohachouch/forms-
wpf-progress
Web? PoC
Community
https://montemagno.com/building-a-
xaml-xamarin-forms-asp-net-website/
11. Поддерживаемые платформы
Platform Backend Status Supported By
Android Stable Xamarin
iOS Stable Xamarin
Tizen Stable Third Party - Samsung
UWP Stable Xamarin
macOS Preview Xamarin
GTK# Early Preview Community
WPF Early Preview
Community
https://github.com/mohachouch/forms-
wpf-progress
Web? PoC
Community
https://montemagno.com/building-a-
xaml-xamarin-forms-asp-net-website/
12. iOS 11
65%
iOS 10
28%
Other
7%
iOS: 93%
iOS 11 iOS 10 Other
Other
19%
5
6%
5.1
19%
6
29%
7
21%
7.1
5%
8.x
1%
Android: 80.7%
Other 5 5.1 6 7 7.1 8.x
13. Настройка окружения
Xamarin.Forms идет из коробки со студией
Windows: Visual Studio 2017
macOS: Visual Studio for Mac
Крайне желательно мощное железо
SSD is a must
14. Настройка Android
Реальное устройство
• Все просто, включаем Developer Options
Эмуляторы (несовместимы между собой!)
• Visual Studio Android Emulator
• требует Hyper-V
• Нет поддержки Google Maps
• Google Android Emulator
• Несовместим с Hyper-V
15. Настройка iOS
Для сборки требуется macOS
=> нужен iMac, Mac, MacBook, etc.
Решение: macOS в облаке, e.g. https://macincloud.com
Как запустить на реальном устройстве?
USB over Network
Слишком дорого, проще купить MacBook
16. Настройка iOS
iOS Remote Simulator
Работает c ~3 раза
Реальное устройство
Можно бесплатно запускать на iPhone/iPad
Нет поддержки пуш-уведомлений
17. Резюме
Android
Google Android Emulator, если не нужен Hyper-V
Очень просто запустить на реальном устройстве
iOS
Нужна macOS, e.g. https://macincloud.com
iOS Remote Simulator
34. Good looking UI?
BottomNavigationBar
Наш пакет, доступен в NuGet
https://www.thewissen.io/xamarin-forms-ui-twitter/
https://github.com/sthewissen/KickassUI.Runkeeper
36. Производительность приложения
Из коробки довольно медленно под Android
Но прогресс есть
Android Fast Renderers
Startup time improvements
https://blog.xamarin.com/5-ways-boost-xamarin-forms-app-
startup-time/
40. Live Player
Не нужна macOS
Позволяет менять код/XAML и тут же видеть результат
Много ограничений
https://developer.xamarin.com/guides/cross-platform/live/limitations/
Нет поддержки аттрибутов
Ни разу не удалось запустить с DotNetRu, куча багов
Help
wanted!
41. Live Run Current View
Не работает с DotNetRu App
Из коробки не работает, нужно вставлять костыли
Help
wanted!
43. Подготовка к публикации под iOS
Под Windows ничего не работает, куча багов
Нужно использовать VS for Mac/Xcode для редактирования
Иконки: http://appiconmaker.co/
LaunchScreen
45. Visual Studio App Center
После выкладывания жизненный цикл не заканчивается!
https://appcenter.ms/apps
Нужно установить
Microsoft.AppCenter.Analytics
Microsoft.AppCenter.Crashes
46. Выводы
На Xamarin.Forms разрабатывать можно
Все еще куча багов, но стало лучше
Open Source – если что, можно допилить
С Live Player все будет совсем хорошо