You’ve probably heard a lot of time that Xamarin tools generate native applications for iOS and Android, but how does this really work? What is the difference between developing with ObjectiveC/Swift and Java? What are the problems that could arise by using the Xamarin approach? Come and see as we take a look under the hood of the Xamarin frameworks
You’ve probably heard a lot of time that Xamarin tools generate native applications for iOS and Android, but how does this really work? What is the difference between developing with ObjectiveC/Swift and Java? What are the problems that could arise by using the Xamarin approach? Come and see as we take a look under the hood of the Xamarin frameworks.
MS Experiences 17 - Xamarin: Future of Mobile DevelopmentJames Montemagno
Xamarin enabled C # developers to become native iOS, Android, and Windows mobile app developers overnight. In this session, learn how to leverage your existing .NET and C # skills to create iOS and Android mobile apps in Visual Studio with Xamarin. In addition to allowing you to write your iOS and Android apps in C #, Xamarin lets you reuse existing .NET libraries and share your business logic across iOS, Android, and Windows apps. During this session we cover the Xamarin platform and how to create native iOS, Android, and Windows apps in C #. See what is new and next for Xamarin development inside of Visual Studio. Moreover, we focus on the code, with several live coding adventures throughout the entire session and showing you the latest and greatest in native cross-platform development.
In a mobile first, cloud first world it is essential to have a powerful framework that is high performant and available on every platform you want to target. That framework is .NET and has expanded to every device imaginable. Whether it is server, web, mobile, wearables, or IoT, .NET is there and fully cross-platform. Developers can now leverage Xamarin to craft native Mobile and Desktop applications from a single shared code base while build backends and websites in .NET Core and ASP.NET Core that can run on any operating system to power them.
Join James Montemagno in a general session focused on how you can leverage your existing .NET and C# skills to build apps for any platform. During this session he will take you through everything you need to get started building apps and a few revolutionary tools to help learn the amazing APIs packed into each platform.
"Xamarin enables C# developers to become native iOS, Android, and Windows mobile app developers overnight. In this session, you will learn how to leverage your existing .NET and C# skills to create iOS and Android mobile apps in Visual Studio with Xamarin. In addition to allowing you write your iOS and Android apps in C#, Xamarin lets you reuse existing .NET libraries and share your business logic across iOS, Android, and Windows apps. This session will also give you the tools to determine how much existing C# code can go mobile to iOS and Android, plus help you determine the architecture necessary to support maximum code sharing and reuse. We will also provide guidance and best practices for handling fragmentation across and within each device platform.
During this session we will cover the Xamarin platform and how to create native iOS, Android, and Windows apps in C#. Moreover, we will really focus on the code with several live coding adventures throughout the entire session. When you leave you will have the knowledge to create your first iOS & Android in C# with Xamarin in Visual Studio."
You’ve probably heard a lot of time that Xamarin tools generate native applications for iOS and Android, but how does this really work? What is the difference between developing with ObjectiveC/Swift and Java? What are the problems that could arise by using the Xamarin approach? Come and see as we take a look under the hood of the Xamarin frameworks.
MS Experiences 17 - Xamarin: Future of Mobile DevelopmentJames Montemagno
Xamarin enabled C # developers to become native iOS, Android, and Windows mobile app developers overnight. In this session, learn how to leverage your existing .NET and C # skills to create iOS and Android mobile apps in Visual Studio with Xamarin. In addition to allowing you to write your iOS and Android apps in C #, Xamarin lets you reuse existing .NET libraries and share your business logic across iOS, Android, and Windows apps. During this session we cover the Xamarin platform and how to create native iOS, Android, and Windows apps in C #. See what is new and next for Xamarin development inside of Visual Studio. Moreover, we focus on the code, with several live coding adventures throughout the entire session and showing you the latest and greatest in native cross-platform development.
In a mobile first, cloud first world it is essential to have a powerful framework that is high performant and available on every platform you want to target. That framework is .NET and has expanded to every device imaginable. Whether it is server, web, mobile, wearables, or IoT, .NET is there and fully cross-platform. Developers can now leverage Xamarin to craft native Mobile and Desktop applications from a single shared code base while build backends and websites in .NET Core and ASP.NET Core that can run on any operating system to power them.
Join James Montemagno in a general session focused on how you can leverage your existing .NET and C# skills to build apps for any platform. During this session he will take you through everything you need to get started building apps and a few revolutionary tools to help learn the amazing APIs packed into each platform.
"Xamarin enables C# developers to become native iOS, Android, and Windows mobile app developers overnight. In this session, you will learn how to leverage your existing .NET and C# skills to create iOS and Android mobile apps in Visual Studio with Xamarin. In addition to allowing you write your iOS and Android apps in C#, Xamarin lets you reuse existing .NET libraries and share your business logic across iOS, Android, and Windows apps. This session will also give you the tools to determine how much existing C# code can go mobile to iOS and Android, plus help you determine the architecture necessary to support maximum code sharing and reuse. We will also provide guidance and best practices for handling fragmentation across and within each device platform.
During this session we will cover the Xamarin platform and how to create native iOS, Android, and Windows apps in C#. Moreover, we will really focus on the code with several live coding adventures throughout the entire session. When you leave you will have the knowledge to create your first iOS & Android in C# with Xamarin in Visual Studio."
A session in the DevNet Zone at Cisco Live, Berlin. Network Topology Visualization is an important part of many SDN applications and other domains. Easy customization and building a new component base on NeXt to adapt to different requirements is critical. This session will illustrate how to customize topology components and how to build other visualization components with the latest commercial version.
Build Scalable Internet of Things Apps using Cloud Foundry, Bluemix & CloudantIBM
5 billion people vs 50 billion devices connected to the Internet by 2025 - How can we build application to handle this explosive growth in Internet of Things using Cloud Foundry, Bluemix and Cloudant
This July we teamed up with TestObject to host a Mobile Quality Crew Meetup at the Zalando Technology building in Berlin.
Presentations included:
Mobile Testing Challenges @ZalandoTech
Dmitry Bespalov, iOS Engineer
and Hendrik Seffler, Delivery Lead Engineering Productivity at Zalando
Efforts of automation @6Wunderkinder
Justin Ison is a QA Lead at 6Wunderkinder
http://www.meetup.com/Zalando-Tech-Events-Berlin/
AppliFire - Low Code Rapid Application Development PlatformAjit Singh
AppliFire provides unprecedented speed to Designers, Developers and Business Analysts for creating powerful Enterprise grade Applications with rich User Interfaces, Complex Business Logic, External Interfaces, Reporting , Dashborads, Mobile Apps etc. Simultaneously, it offers very high control and flexibility to developers and also provides high quality and consistent platform independent source code with a technology stack of your choice.
As the mobile landscape continues to expand and evolve managing multiple code bases in different programming languages and development tools can become a nightmare fast. In this session you will learn about the technology that Xamarin offers and how it works to enable developers to leverage a shared C# code base across all mobile platforms.
James will walk you through developing, designing, deploying, and optimizing your first mobile apps for iOS, Android, and Windows from a single code base. You will walk away with the knowledge to build cross platform mobile app with C# features such as LINQ, async/await, events, and delegates and inside Visual Studio.
Recently Mike & Pierce from Xamarin introduced this amazing library called Azure App Service Helpers. Enabling you to connect to azure in just a few lines of code!
apidays LIVE Australia 2020 - From micro to macro-coordination through domain...apidays
apidays LIVE Australia 2020 - Building Business Ecosystems
From micro to macro-coordination through domain-centric DDL pipeline
Alex Khilko, CTO of PlayQ Inc.
4. RTFM, 나는프로그래머다 Meetup 2016 / 한국마이크로소프트 김명신 기술 에반젤리스트 양 한빛
Welcome to the Microsoft madness / 한국마이크로소프트 김명신 기술 에반젤리스트
[발표개요]
지난 수년간 마이크로소프트의 변화의 속도는 실로 폭주라는 말이 가장 적합할 만큼 파격적이며 혁신적입니다. 본 세션에서는 2016년 하반기에 가장 Hot! 할 것 같은 기술을 중심으로 마이크로소프트의 놀라운 변화를 공유할 것입니다. 주요 주제로 차기 버전의 윈도우에 탑재될 Bash, 윈도우/안드로이드/iOS를 가리지 않는 Xamarin 개발 도구, Cross Platform 웹 개발 플랫폼인 ASP.NET Core, 마이크로소프트 AI 기술의 대표주자인 Cognitive Service를 데모를 통해 속도감 있게 알아봅니다. 멀미 주의!
[발표자 소개]
한국마이크로소프트 기술 에반젤리스트로, 아태지역과 글로벌 핵심 개발자 지원팀의 수석 엔지니어와 고객기술지원부 전략 참모직을 역임했다.
NHN과 STI에서 아키텍트 역할을 하였으며, C/C++와 C# 부문에서 마이크로소프트 MVP로 활약했다. Small Basic, KPL, Scratch 등 어린이 교육용 프로그래밍 언어에도 관심이 많아서 KPL의 한글화 작업을 수행하기도 하였다.
분산컴퓨팅 아키텍처, 네트워킹, 프로그래밍 방법론, 소프트웨어 공학 등에 두루 관심이 많으며 여전히 Apple과 MSX Emulator를 띄우고 추억에 잠기곤 하는 전형적인 8bits kid이다.
Xamarin enables C# devs to become native iOS, Android, and Windows mobile app dev overnight. Learn how to leverage your existing .NET and C# skills to create iOS and Android mobile apps in Visual Studio. In addition to allowing you to write your iOS and Android apps in C#, Xamarin lets you reuse existing .NET libraries and share your business logic across iOS, Android, and Windows apps. During this session we cover the Xamarin platform and how to create native iOS, Android, and Windows apps in C#. See what’s new and next for Xamarin development inside of Visual Studio. Moreover, we focus on the code, with several live coding adventures throughout the entire session and show you the latest and greatest in native cross-platform development.
Cross Platform Mobile Development with Visual Studio 2015 and C++Richard Thomson
Utah Code Camp, Spring 2016. http://utahcodecamp.com In this presentation, I give an overview of using Visual Studio 2015 for cross-platform development in C++.
Every app needs to navigate from page to page and pass data around too! That is where Xamarin.Forms Shell can help by simplifying the your application structure, provide URL navigation, passing parameters, and even deep linking! Join in for a full session with James Montemagno on how to setup your app and get navigating.
The Fine Art of Time Travelling - Implementing Event Sourcing - Andrea Saltar...ITCamp
If there is a common practice in architecting software systems, it is to have them store the last known state of business entities in a relational database: though widely adopted and effectively supported by existing development tools, this practice trades the easiness of implementation with the cost of losing the history of such entities.
Event Sourcing provides a pivotal solution to this problem, giving systems the capability of restoring the state they had at any given point in time. Furthermore, injecting mock-up events and having them replayed by the business logic allows for an easy implementation of simulations and “what if” scenarios.
In this session, Andrea will demonstrate how to design time travelling systems by examining real-world, production-tested solutions.
ITCamp 2018 - Dan Ardelean - CI/CD for mobile development using Visual Studio...ITCamp
The development is just a small part of any mobile application lifecycle: testing, building, distributing, analysing are part of a continuous process to always improve the quality of each application. In this session we will see how Visual Studio implements all these aspects and how you can integrate them in your CI/CD pipeline.
A session in the DevNet Zone at Cisco Live, Berlin. Network Topology Visualization is an important part of many SDN applications and other domains. Easy customization and building a new component base on NeXt to adapt to different requirements is critical. This session will illustrate how to customize topology components and how to build other visualization components with the latest commercial version.
Build Scalable Internet of Things Apps using Cloud Foundry, Bluemix & CloudantIBM
5 billion people vs 50 billion devices connected to the Internet by 2025 - How can we build application to handle this explosive growth in Internet of Things using Cloud Foundry, Bluemix and Cloudant
This July we teamed up with TestObject to host a Mobile Quality Crew Meetup at the Zalando Technology building in Berlin.
Presentations included:
Mobile Testing Challenges @ZalandoTech
Dmitry Bespalov, iOS Engineer
and Hendrik Seffler, Delivery Lead Engineering Productivity at Zalando
Efforts of automation @6Wunderkinder
Justin Ison is a QA Lead at 6Wunderkinder
http://www.meetup.com/Zalando-Tech-Events-Berlin/
AppliFire - Low Code Rapid Application Development PlatformAjit Singh
AppliFire provides unprecedented speed to Designers, Developers and Business Analysts for creating powerful Enterprise grade Applications with rich User Interfaces, Complex Business Logic, External Interfaces, Reporting , Dashborads, Mobile Apps etc. Simultaneously, it offers very high control and flexibility to developers and also provides high quality and consistent platform independent source code with a technology stack of your choice.
As the mobile landscape continues to expand and evolve managing multiple code bases in different programming languages and development tools can become a nightmare fast. In this session you will learn about the technology that Xamarin offers and how it works to enable developers to leverage a shared C# code base across all mobile platforms.
James will walk you through developing, designing, deploying, and optimizing your first mobile apps for iOS, Android, and Windows from a single code base. You will walk away with the knowledge to build cross platform mobile app with C# features such as LINQ, async/await, events, and delegates and inside Visual Studio.
Recently Mike & Pierce from Xamarin introduced this amazing library called Azure App Service Helpers. Enabling you to connect to azure in just a few lines of code!
apidays LIVE Australia 2020 - From micro to macro-coordination through domain...apidays
apidays LIVE Australia 2020 - Building Business Ecosystems
From micro to macro-coordination through domain-centric DDL pipeline
Alex Khilko, CTO of PlayQ Inc.
4. RTFM, 나는프로그래머다 Meetup 2016 / 한국마이크로소프트 김명신 기술 에반젤리스트 양 한빛
Welcome to the Microsoft madness / 한국마이크로소프트 김명신 기술 에반젤리스트
[발표개요]
지난 수년간 마이크로소프트의 변화의 속도는 실로 폭주라는 말이 가장 적합할 만큼 파격적이며 혁신적입니다. 본 세션에서는 2016년 하반기에 가장 Hot! 할 것 같은 기술을 중심으로 마이크로소프트의 놀라운 변화를 공유할 것입니다. 주요 주제로 차기 버전의 윈도우에 탑재될 Bash, 윈도우/안드로이드/iOS를 가리지 않는 Xamarin 개발 도구, Cross Platform 웹 개발 플랫폼인 ASP.NET Core, 마이크로소프트 AI 기술의 대표주자인 Cognitive Service를 데모를 통해 속도감 있게 알아봅니다. 멀미 주의!
[발표자 소개]
한국마이크로소프트 기술 에반젤리스트로, 아태지역과 글로벌 핵심 개발자 지원팀의 수석 엔지니어와 고객기술지원부 전략 참모직을 역임했다.
NHN과 STI에서 아키텍트 역할을 하였으며, C/C++와 C# 부문에서 마이크로소프트 MVP로 활약했다. Small Basic, KPL, Scratch 등 어린이 교육용 프로그래밍 언어에도 관심이 많아서 KPL의 한글화 작업을 수행하기도 하였다.
분산컴퓨팅 아키텍처, 네트워킹, 프로그래밍 방법론, 소프트웨어 공학 등에 두루 관심이 많으며 여전히 Apple과 MSX Emulator를 띄우고 추억에 잠기곤 하는 전형적인 8bits kid이다.
Xamarin enables C# devs to become native iOS, Android, and Windows mobile app dev overnight. Learn how to leverage your existing .NET and C# skills to create iOS and Android mobile apps in Visual Studio. In addition to allowing you to write your iOS and Android apps in C#, Xamarin lets you reuse existing .NET libraries and share your business logic across iOS, Android, and Windows apps. During this session we cover the Xamarin platform and how to create native iOS, Android, and Windows apps in C#. See what’s new and next for Xamarin development inside of Visual Studio. Moreover, we focus on the code, with several live coding adventures throughout the entire session and show you the latest and greatest in native cross-platform development.
Cross Platform Mobile Development with Visual Studio 2015 and C++Richard Thomson
Utah Code Camp, Spring 2016. http://utahcodecamp.com In this presentation, I give an overview of using Visual Studio 2015 for cross-platform development in C++.
Every app needs to navigate from page to page and pass data around too! That is where Xamarin.Forms Shell can help by simplifying the your application structure, provide URL navigation, passing parameters, and even deep linking! Join in for a full session with James Montemagno on how to setup your app and get navigating.
The Fine Art of Time Travelling - Implementing Event Sourcing - Andrea Saltar...ITCamp
If there is a common practice in architecting software systems, it is to have them store the last known state of business entities in a relational database: though widely adopted and effectively supported by existing development tools, this practice trades the easiness of implementation with the cost of losing the history of such entities.
Event Sourcing provides a pivotal solution to this problem, giving systems the capability of restoring the state they had at any given point in time. Furthermore, injecting mock-up events and having them replayed by the business logic allows for an easy implementation of simulations and “what if” scenarios.
In this session, Andrea will demonstrate how to design time travelling systems by examining real-world, production-tested solutions.
ITCamp 2018 - Dan Ardelean - CI/CD for mobile development using Visual Studio...ITCamp
The development is just a small part of any mobile application lifecycle: testing, building, distributing, analysing are part of a continuous process to always improve the quality of each application. In this session we will see how Visual Studio implements all these aspects and how you can integrate them in your CI/CD pipeline.
CI/CD for mobile development using Visual Studio App CenterDan Ardelean
The development is just a small part of any mobile application lifecycle: testing, building, distributing, analysing are part of a continuous process to always improve the quality of each application. In this session we will see how Visual Studio implements all these aspects and how you can integrate them in your CI/CD pipeline.
ITCamp 2019 - Andrea Saltarello - Modernise your app. The Cloud StoryITCamp
"App Modernisation" is such a buzzword you might end up thinking there's no such thing. That code just needs to be rewritten every "N" years, that existing apps couldn't take advantage of new platforms, technologies or frameworks. That all the fuss about "goin' cloud" is a fad. Let me tell why you might consider being wrong.
Azure Microservices in Practice - Radu VunvuleaITCamp
In this session we will take a look on Azure Service Fabric and how we can create a web application using ASP.NET Core and microservices. During the presentation we will create a web application that will be hosted in Azure Service Fabric and use the most important capabilities of Azure Service Fabric.
Azure tales: a real world CQRS and ES Deep Dive - Andrea SaltarelloITCamp
Both CQRS and Event Sourcing are by no means “new stuff” anymore, yet a lot can be told about how to use Azure’s PaaS to implement such patterns and unleash their power. The ingredients are: DocumentDB as the event storage, Service Bus as the events’ dispatcher, Could Services/Service Fabric as the scalable, fault tolerant business logic container, SQL Azure as the read model and ASP .NET Core as the application framework used to implement views and back-end services. Eager to know the recipe? Don’t miss this talk then.
Azure Microservices in Practice, Radu Vunvulea, ITCamp 2016Radu Vunvulea
In this session we will take a look on Azure Service Fabric and how we can create a web application using ASP.NET Core and microservices. During the presentation we will create a web application that will be hosted in Azure Service Fabric and use the most important capabilities of Azure Service Fabric.
ITCamp 2019 - Emil Craciun - RoboRestaurant of the future powered by serverle...ITCamp
Let's face it, our world will be taken over by robots, or at least our jobs as the scary ML & AI speculations seem to say. But until that day arrives, I want to take you on a hypothetical journey of designing and creating a fully automated restaurant of the future, where a fine tuned and efficiently orchestrated group of RoboChefs will cook your desired meal perfectly each time. And all of this is possible thanks to Actions, Timers, Monitors, Orchestrators, Sub-Orchestrators and more, all concepts from Azure Durable Functions, the real focus of this session, an extension to Functions that adds state, and which are part of Azure's Serverless Compute technologies.
ITCamp 2019 - Andrea Saltarello - Implementing bots and Alexa skills using Az...ITCamp
Thanks to the recently released v4 of the Bot Framework SDK, creating your first bot is a breeze; still, implementing a production viable one is no easy task since several aspects must be taken into account such as user authentication, integration within existing apps, multi language support, technical considerations (e.g.: Azure Functions vs. MVC Core, Blob Storage vs. CosmosDB) and, last but not least, operational costs.
Moreover, you might want to reuse your bot’s Azure hosted, Cognitive Services-backed code to address Amazon’s Alexa users to avoid the need to implement (and evolve) it twice.
Eager to learn how to do that for real? Don’t miss this code-based talk then.
Badly designed code is one of the highest price we pay as an industry. In many cases the cost of adding or changing features increases with the time we advance into the project. The bigger the project gets, the more complex it gets and the more costly it is to work on it, if it lacks structure. If you need to migrate it, you need to rewrite it all.
In this session I will show from real world projects experience how to keep your team efficient changing the code when you need to move into the Cloud, with what I call the Application Software Infrastructure. It assures code quality through structure rather than relying on discipline only. It documents the architecture into code and bridges this way the architectural diagrams and the code structures.
‘Cloud Ready’ Design through Application Software InfrastructureFlorin Coros
Badly designed code is one of the highest price we pay as an industry. In many cases the cost of adding or changing features increases with the time we advance into the project. The bigger the project gets, the more complex it gets and the more costly it is to work on it, if it lacks structure. If you need to migrate it, you need to rewrite it all.
In this session I will show from real world projects experience how to keep your team efficient changing the code when you need to move into the Cloud, with what I call the Application Software Infrastructure. It assures code quality through structure rather than relying on discipline only. It documents the architecture into code and bridges this way the architectural diagrams and the code structures.
Everyone Loves Docker Containers Before They Understand Docker Containers - A...ITCamp
Each year the IT world offers a hype-word. The last decade has all been about mobile, cloud, Big Data and IoT. In the context of cloud apps however, monolithic applications have little to offer in terms of HA and DR and their deployment process is mostly an error-prone operation. Curious enough, even though container have been around for many years, the hype word nowadays is containers (along with microservices), and that’s probably because of Docker, who made containers really easy to use.
Throughout this talk, I will cover the importance of containers and what Azure has to offer in terms of containers, namely Azure Container Services. And because deploying a single container isn’t part of the real world scenarios, I will also show you how you can manage (aka orchestrate) an application in the real world. Don’t be fooled by the title though! This session will not be exclusively about Docker, it will be about containers, about Docker images, about orchestrating containerized applications, about Azure Container Service, about deploying ASP.NET Core Applications to Docker Containers in Azure and about configuring release pipelines in Visual Studio Team Services and taking advantage of Docker containers.
Azure SQL Database From A Developer's Perspective - Alex MangITCamp
SQL Server had, has and will certainly have a lot to offer, but the number one concern for a common developer when it comes to SQL Server is the management cost involved. This also happens to be the number one reason for why Azure SQL Database is so successful for hardcore developers who simply don’t want to become accidental DBAs and worry too much about the SQL production workload health. Throughout this fun session, I will demo (a lot!) and walk you through the techniques and technologies Microsoft brought to bring Azure SQL Database’s game up a few notches. These will literally make you, the developer, more productive and your application, more performant.
How # (sharp) is Your Katana (Ciprian Jichici)ITCamp
The Internet of Things is coming upon us bringing a whole range of fundamental changes in the way we imagine, understand, and write services. One of the major trends we’re wittnessing is the breakdown of monoliths, and Microsoft’s web stack is among the candidates. With the new .NET framework and standards like OWIN, the world of web development is changing significantly.
We’re going to cover in this session some advanced scenarios involving ASP.NET MVC 5, WebAPI 2, OWIN, Katana (Microsoft’s implementation of OWIN), and, of course, Windows Azure (Windows Azure Active Directory to be more specific). And to make things more real, we’re going to demonstrate everything using a solution used by our team at HTSS-Genisoft in real-life production.
A new world of possibilities for contextual awareness with beacons - Dan Arde...ITCamp
Bluetooth beacons are devices that broadcast signals that can be “heard” by smart devices nearby. Paired with an app businesses are able to deliver contextually relevant content and information to users at very specific locations. Creating unique customer experiences through location aware applications has never been easier. In this session we will see how the standard iBeacon and EddyStone protocol works and I will show you how you can manage the beacons on the three major mobile platforms: Android, iOS and Windows using C# code and Xamarin tools.
CI/CD for mobile development using AppCenterDan Ardelean
Introduction on configuring an CI/CD pipeline for an mobile application using AppCenter for build, distribute, cash monitoring, analytics and push notifications
Desarrollo multiplataforma con el framework .netDan Ardelean
iOS, Android, Windows, Linux, Mac, Smart TV, Web utilizando C# y el framework .Net podemos cubrir todas estas áreas de desarrollo. Vamos ha hablar de Xamarin, .Net Core, .Net Standard y como todas estas tecnologías nos habilitan el desarrollo a 360 grados compartiendo código entre los varios proyectos (modelos, business logic, data layer, communication layer, ...)
Share more code on iOS, Android and Windows with Portable Class LibrariesDan Ardelean
The session is all about architectural patterns such as Dependency Injection, the Factory pattern, and the Service Locator pattern that you can use to loosely-couple your components in your application. We also have a detail look at AdvancedPCL
This session is a brief introduction to the new Windows 10 developer platform. Learn about the Universal App Platform (UAP) and how it supports the creation of a single app that can run across all Windows 10 devices, learn how you can migrate your existing applications to the Windows 10 platform.
Sviluppo di app cross platform con xamarin e C#Dan Ardelean
Il problema #1 degli sviluppatori mobile di oggi è la diversità dei sistemi operativi (iOS, Android, Windows Phone), dei tools di sviluppo (Visual Studio, Eclipse, XCode) e dei linguaggi di programmazione (C#, Java, Objective C, Swift, Visual Basic). La soluzione Xamarin ci permette di scrivere applicazioni native per tutte le piattaforme usando C# e Xamarin Studio e/o Visual Studio. Questa sessione è una introduzione alla piattaforma Xamarin e vedremmo quanto e facile usare le conoscenze di C# e XAML per scrivere codice una volta e farlo girare su tutti dispositivi mobile.
WP04 -Sensori e hardware con Windows Phone 8.1Dan Ardelean
Oggetti che ti avvisano quando vengono dimenticati, bracciali che tengono traccia delle nostra attività fisica, sensori di temperatura che possono essere interrogati da remoto, bilance che si ricordano quanto pesavamo due anni fa, thermos che analizzano quello che stiamo bevendo e tutto questo usando solo il nostro smartphone. Viviamo in un mondo di sensori e in questa sessione vedremmo come la versione 8.1 di Windows Phone implementa le funzionalità necessarie per comunicare con questi tipi di dispositivi. Parleremo delle nuove API Bluetooth Low Energy/Smart e delle nuove funzionalità implementate nei processori di ultima generazione per avere dati dai sensori incorporati nel telefono senza consumare in modo eccesivo la batteria tecnologia chiamata da Qualcomm e Nokia SensoreCore.
Design and develop cross-platform mobile apps using MVVMCrossDan Ardelean
Today's mobile market is a very dynamic one with three dominating major platforms: Windows, iOS and Android. In order to reach more users and to sustain the migration between the various platforms the mobile applications should be designed with an cross-platform approach in mind. In this session we will see how using the MvvmCross framework we can develop native mobile cross-platforms applications using C# and share the source code between the three platforms. This allows better time to market but even more important better maintainability.
Design and develop cross-platform mobile apps using MVVMCross
Xamarin - Under the bridge
1. @ITCAMPRO #ITCAMP17Community Conference for IT Professionals @ITCAMPRO #ITCAMP17Community Conference for IT Professionals
Xamarin - Under the Bridge
Microsoft&Xamarin MVP, Xamarin Certified Mobile Developer
CTO Mahiz S.r.l.
dan.ardelean@mahiz.it Twitter: @danardelean
Dan Ardelean
2. @ITCAMPRO #ITCAMP17Community Conference for IT Professionals @ITCAMPRO #ITCAMP17Community Conference for IT Professionals
Many thanks to our sponsors & partners!
GOLD
SILVER
PARTNERS
PLATINUM
POWERED BY
4. @ITCAMPRO #ITCAMP17Community Conference for IT Professionals @ITCAMPRO #ITCAMP17Community Conference for IT Professionals
XAMARIN
C#/F#
Visual Studio
Xamarin Studio
Black Magic
Native
11. @ITCAMPRO #ITCAMP17Community Conference for IT Professionals @ITCAMPRO #ITCAMP17Community Conference for IT Professionals
• Expose Objectve-C to C# using Selectors
• objc_msgSend functions
Selectors
NSString target = ...
Selector selector = new Selector ("sizeWithFont:forWidth:lineBreakMode:");
UIFont font = ...
nfloat width = ...
UILineBreakMode mode = ...
CGSize size = cgsize_objc_msgSend_IntPtr_float_int( target.Handle, selector.Handle, font == null ?
IntPtr.Zero : font.Handle, width, mode);
12. @ITCAMPRO #ITCAMP17Community Conference for IT Professionals @ITCAMPRO #ITCAMP17Community Conference for IT Professionals
• Expose Managed Code to Objective-C
Registrars
[Register]
class MyViewController : UIViewController{
[Export ("myFunc")]
public void MyFunc () { }
}
C# (Managed Code)
Objective-C
@interface MyViewController : UIViewController { }
-(void)myFunc;
@end
@implementation
MyViewController {}
-(void) myFunc
{ /* code to call the managed MyViewController.MyFunc method */
}
@end
13. @ITCAMPRO #ITCAMP17Community Conference for IT Professionals @ITCAMPRO #ITCAMP17Community Conference for IT Professionals
DEMO XAMARIN IOS
Single View Application
14. @ITCAMPRO #ITCAMP17Community Conference for IT Professionals @ITCAMPRO #ITCAMP17Community Conference for IT Professionals
Xamarin.iOS creates a managed wrapper, called a peer
object, for every native object accessed by the
Xamarin.iOS runtime
Peer wrapper objects
UIKit.UIButton
(peer object)
[UIButton]
(native object)IntPtrHandle
Allocated by
Xamarin.iOS
and collected by the
GC
Allocated by the iOS
runtime
and reference counted
15. @ITCAMPRO #ITCAMP17Community Conference for IT Professionals @ITCAMPRO #ITCAMP17Community Conference for IT Professionals
• Peer object increment the retain count; it is released
when the managed peer is disposed or finalized
Memory allocation Xamarin.iOS
1
GC
Collect
[brelease] 0
b =null;
b.Dispose(); [brelease] 0
var b = new UIButton(...) [[UIButton alloc]init]
…
or
16. @ITCAMPRO #ITCAMP17Community Conference for IT Professionals @ITCAMPRO #ITCAMP17Community Conference for IT Professionals
Monitoring memory allocations
Memory
Analysis
(Heap shot)
Instrument
s
Androi
d
Device
Monitor
Xamarin
Profiler
VS
Profiler
17. @ITCAMPRO #ITCAMP17Community Conference for IT Professionals @ITCAMPRO #ITCAMP17Community Conference for IT Professionals
DEMO MEMORY ALLOCATION
Single View Application
18. @ITCAMPRO #ITCAMP17Community Conference for IT Professionals @ITCAMPRO #ITCAMP17Community Conference for IT Professionals
Prefer full delegate methods over lambdas – it makes it
easier to see and understand strong references
Call Dispose() to release native resources immediately (vs.
waiting ona GC) when you are finished with a peer
wrapper
Always unsubscribe from events you manually wire up;
alternatively, use the Storyboard to connect events which
can then be cleaned up automatically
Xamarin.iOS Tips
20. @ITCAMPRO #ITCAMP17Community Conference for IT Professionals @ITCAMPRO #ITCAMP17Community Conference for IT Professionals
Android Native Compilation
.dexfilesJava
compile
r
Android
dex
compiler
Java
bytecodes
Dalvik
bytecodes
21. @ITCAMPRO #ITCAMP17Community Conference for IT Professionals @ITCAMPRO #ITCAMP17Community Conference for IT Professionals
Android Native Compilation
.dexfiles
Resources
(e.g.
images)
.apkfileAndroid
apkbuilde
r
The .apkfile contains
all the app's assets
and is ready to run
22. @ITCAMPRO #ITCAMP17Community Conference for IT Professionals @ITCAMPRO #ITCAMP17Community Conference for IT Professionals
Android Native Execution
Bytecodes are compiled to
native code at installation
(called Ahead-of-Time or
AOT)
MyApp.apk
Android
Runtime
(ART)
Apps run in their own
process with their own
copy of the ART Virtual
Machine
25. @ITCAMPRO #ITCAMP17Community Conference for IT Professionals @ITCAMPRO #ITCAMP17Community Conference for IT Professionals
Xamarin.Android Compilation
assemblyC#
compiler
IL and
metadata
Linke
r
Monoassemblies
yourassemblies
Monoassemblies
(filtered)
Determines which class members are used in
your app and includes only those members in
the output
yourassemblies
(filtered)
26. @ITCAMPRO #ITCAMP17Community Conference for IT Professionals @ITCAMPRO #ITCAMP17Community Conference for IT Professionals
Xamarin.Android Compilation
Mono
Runtime
The Xamarin build tools
add the Mono VM to
your application
package
.apkfileAndroid
apkbuilde
r
28. @ITCAMPRO #ITCAMP17Community Conference for IT Professionals @ITCAMPRO #ITCAMP17Community Conference for IT Professionals
Xamarin.Android GC Process
GC
Collect
Can
collect
object?
Is
Peer
Object
?
Ye
s
Replace JNI
handle with
Weak Handle
Ye
s
Force Android GC
JNI
handle
collected
?
Collect object
No
Ye
s
Replace JNI
weak handle
with strong
handle reference
NoPeer
object
kept alive
29. @ITCAMPRO #ITCAMP17Community Conference for IT Professionals @ITCAMPRO #ITCAMP17Community Conference for IT Professionals
• Integration between Xamarin GC and JVM GC is
performed through a native extension called the GC
Bridge
GC Bridge
Xamarin
Manage
d
Memory
Android
Manage
d
Memory
GC
Bridge
Process
Memor
y
30. @ITCAMPRO #ITCAMP17Community Conference for IT Professionals @ITCAMPRO #ITCAMP17Community Conference for IT Professionals
• GC_ messages provide details about bridge and
collection times
Monitoring GC Performance
GC_MAJOR:(Minor allowance) pause 29.11ms, total 29.35ms, bridge 0.15msmajor
4048K/0K los 2766K/0K
Lower pause, bridge and total times are
preferred
31. @ITCAMPRO #ITCAMP17Community Conference for IT Professionals @ITCAMPRO #ITCAMP17Community Conference for IT Professionals
• C# objects must be boxed to create a JVM
representation of the object; intrinsic types (strings,
numeric values and dates) are all special cased
Xamarin and the JAVA VM
C#
Object
Java
Object
ArrayAdapter<Tweet>
ArrayAdapter
ArrayLi
stTweet Tweet Tweet Tweet
Tweet Tweet Tweet Tweet
ListView
32. @ITCAMPRO #ITCAMP17Community Conference for IT Professionals @ITCAMPRO #ITCAMP17Community Conference for IT Professionals
• Instead, do as much as possible in either C# or Java,
interop is expensive
Stay in your yard
C# Object
Java
Object
TweetAdapter
List<Tweet>
Tweet Tweet Tweet Tweet
ListView
33. @ITCAMPRO #ITCAMP17Community Conference for IT Professionals @ITCAMPRO #ITCAMP17Community Conference for IT Professionals
Should call Dispose() to release the native resources
immediately (vs waiting on a GC) when you are finished
with a peer wrapper
Avoid placing a large numbers of references in peer
objects, remember GC is more expensive for these special
types
Avoid passing pure C# custom types into Java APIs if
possible
Xamarin.Android Tips
34. @ITCAMPRO #ITCAMP17Community Conference for IT Professionals @ITCAMPRO #ITCAMP17Community Conference for IT Professionals
Xamarin
Process
Memory
UIView
UIImage
MKMapVie
w
...
Activity
Intent
TextView
...
Managed
Memory
C# and .NET
objects are
allocated here
- this is all GC
knows about