Common strategies related to building cross platform mobile application : Responsive/Mobilized Web Application, Hybrid App with PhoneGap and Native App with Xamarin ; targeting both Windows Phone, iOS and Android.
The Multiplatform App Architecture offers the possibility to create mobile applications for multiple mobile platforms and at the same time offer the flexibility to use all native functionality of the mobile operating systems to realize an optimal user experience. Combined with a powerful development environment and a comprehensive programming language it offers an excellent way to develop and maintain rich mobile applications.
Capgemini helps customers to achieve mobile excellence and realizes mobile applications in an agile way using this architecture.
Rapid Prototyping and Usability Testing - HUXPADerrick Bowen
Why don't people adopt the changes we design to benefit them? It is a function of 1) Team bias towards believing they know what end users will want, and; 2) An environment that requires teams to “protect” themselves by showing constant short-term progress. Collecting and utilizing early unbiased feedback will help you balance the effort vs. value equation for your users / customers, leading to quicker uptake.
Top 4 Cross Platform tools for Mobile App Developmenttechugo
Scope of Cross Platform App Development is bright as developers and engineers find it easy and interesting to use a single code base to compile and deploy their app on all major mobile platforms. Top 4 Cross Platform Development tools are discussed here in the presentation, with few of their major pros and cons:
Common strategies related to building cross platform mobile application : Responsive/Mobilized Web Application, Hybrid App with PhoneGap and Native App with Xamarin ; targeting both Windows Phone, iOS and Android.
The Multiplatform App Architecture offers the possibility to create mobile applications for multiple mobile platforms and at the same time offer the flexibility to use all native functionality of the mobile operating systems to realize an optimal user experience. Combined with a powerful development environment and a comprehensive programming language it offers an excellent way to develop and maintain rich mobile applications.
Capgemini helps customers to achieve mobile excellence and realizes mobile applications in an agile way using this architecture.
Rapid Prototyping and Usability Testing - HUXPADerrick Bowen
Why don't people adopt the changes we design to benefit them? It is a function of 1) Team bias towards believing they know what end users will want, and; 2) An environment that requires teams to “protect” themselves by showing constant short-term progress. Collecting and utilizing early unbiased feedback will help you balance the effort vs. value equation for your users / customers, leading to quicker uptake.
Top 4 Cross Platform tools for Mobile App Developmenttechugo
Scope of Cross Platform App Development is bright as developers and engineers find it easy and interesting to use a single code base to compile and deploy their app on all major mobile platforms. Top 4 Cross Platform Development tools are discussed here in the presentation, with few of their major pros and cons:
Building Cross-Platform Mobile Apps with PhoneGap and Sencha TouchAxel Buerkle
When it comes to developing cross-platform mobile applications you can choose from a myriad of frameworks. In this presentation we will take a look at two of the most popular mobile frameworks: Sencha Touch and PhoneGap. This combination of tools allows you to write native looking apps that work on iOS, Android, BlackBerry, and Windows Phone.
Here is everything you need to know about cross-platform application development, why businesses need it, its benefits, different frameworks, which to use, and more.
These is the slide deck I used during my talk at Software Architect about how using architecture in order to create maintainable, secure and fast mobile applications.
Promoting your business on mobile devisesPaul Vesely
The latest statistics to help you build a business case to develop your mobile strategy for your business. Understand the pro's and con's of WAP mobile sites v's mobile Apps. See what are the trends in terms of users purchasing behavior broken down by operating system.
Progressive Web Apps use modern web capabilities to deliver an app-like user experience. They evolve from pages in browser tabs to immersive, top-level apps, maintaining the web's low friction at every moment.
They are reliable, fast, engaging and delivering amazing UX to end users. And they are here!
The slides are from my talk at http://2018.symfonycamp.org.ua/
BBM Social Platform and App MonetizationKyle McInnes
BlackBerry Messenger is an incredibly popular app that is becoming a social platform. With the BBM Social Platform, developers can leverage the millions of connected users to spread their applications virally and further monetize their apps.
Mobile Application Development: Hybrid, Native and Mobile Web AppsPaul Sons
Orion eSolutions offer the best and the most reliable Hybrid, Native, Mobile Application Development services using the latest platform. To know mobile app development stages and usages visit orionesolutions.com
Learn how to create omnichannel experiences using Adobe Experience Manager where you manage the content once and deliver across channels like Web, SPA, Mobile, Chatbot, Voice and Email.
Mobile App Landscape for the Non-TechnicalJames Quick
As CEO/Founder of any startup, you may not be the lead developer on your product or app, but you do have to be able to have somewhat technical conversations with investors, interviewees, etc. All founders have wear many different hats and perform multiple different roles. This deck focuses on the landscape of Mobile as it is today focusing on three major platforms, Android, IOS, and Windows. We will take a look at building both native applications and cross-platform applications along with relevant tools and skills needed for both.
Building Cross-Platform Mobile Apps with PhoneGap and Sencha TouchAxel Buerkle
When it comes to developing cross-platform mobile applications you can choose from a myriad of frameworks. In this presentation we will take a look at two of the most popular mobile frameworks: Sencha Touch and PhoneGap. This combination of tools allows you to write native looking apps that work on iOS, Android, BlackBerry, and Windows Phone.
Here is everything you need to know about cross-platform application development, why businesses need it, its benefits, different frameworks, which to use, and more.
These is the slide deck I used during my talk at Software Architect about how using architecture in order to create maintainable, secure and fast mobile applications.
Promoting your business on mobile devisesPaul Vesely
The latest statistics to help you build a business case to develop your mobile strategy for your business. Understand the pro's and con's of WAP mobile sites v's mobile Apps. See what are the trends in terms of users purchasing behavior broken down by operating system.
Progressive Web Apps use modern web capabilities to deliver an app-like user experience. They evolve from pages in browser tabs to immersive, top-level apps, maintaining the web's low friction at every moment.
They are reliable, fast, engaging and delivering amazing UX to end users. And they are here!
The slides are from my talk at http://2018.symfonycamp.org.ua/
BBM Social Platform and App MonetizationKyle McInnes
BlackBerry Messenger is an incredibly popular app that is becoming a social platform. With the BBM Social Platform, developers can leverage the millions of connected users to spread their applications virally and further monetize their apps.
Mobile Application Development: Hybrid, Native and Mobile Web AppsPaul Sons
Orion eSolutions offer the best and the most reliable Hybrid, Native, Mobile Application Development services using the latest platform. To know mobile app development stages and usages visit orionesolutions.com
Learn how to create omnichannel experiences using Adobe Experience Manager where you manage the content once and deliver across channels like Web, SPA, Mobile, Chatbot, Voice and Email.
Mobile App Landscape for the Non-TechnicalJames Quick
As CEO/Founder of any startup, you may not be the lead developer on your product or app, but you do have to be able to have somewhat technical conversations with investors, interviewees, etc. All founders have wear many different hats and perform multiple different roles. This deck focuses on the landscape of Mobile as it is today focusing on three major platforms, Android, IOS, and Windows. We will take a look at building both native applications and cross-platform applications along with relevant tools and skills needed for both.
Specifically, in this webinar we will cover following key topics.
Alternative approaches for developing mobile applications – Native, HTML5, and Hybrid
Pros and cons of each approach
When to go for HTML5 or Hybrid approach and when not to
Recommended tools for HTML5 and Hybrid development
Read more at - https://www.synerzip.com/webinar/mobile-development-html5-vs-native/
As the digital space continues to evolve, Progressive Web Apps (PWA) are gaining momentum. PWAs aim to improve user experience and are about to become a game changer – will you be ready?
Join us for this live webinar & learn:
* What Progressive Web Apps are and why they're gaining momentum
* Key differences between Progressive Web Apps, responsive web design, hybrid and native apps
* Best practices and tools for testing Progressive Web Apps
And see a live demo of a Progressive Web App in action
Deal with the dilemma of hybrid and nativeswamileo1
There are two kinds of platforms that can be used to build an app, Hybrid or Cross platforms and Native platforms. Hybrid and Native technologies have their own pros and cons although it is still debatable which framework is better.
Why is xamarin the preferred app development platform among app developersFullestop
Xamarin is an inter-mobile app development solution that enables developers to share up to 90% of their code across different platforms. It has a Microsoft code base and maintains a network of over 1.4 million programmers’ despite being a relatively new tool. The platform was created by the team behind Mono, an open-source development platform based on the.NET Framework that was first released in 2001.
Albiorix Technology is sharing the top mobile app development frameworks that you can use for mobile app development. It will help you make the app development process easier for your next app development project.
For More Information: https://www.albiorixtech.com/blog/mobile-app-development-frameworks/
#MobileApp #AppDevelopment #WebAppDevelopment #MobileAppDevelopment #SoftwareDevelopment
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Tobias Schneck
As AI technology is pushing into IT I was wondering myself, as an “infrastructure container kubernetes guy”, how get this fancy AI technology get managed from an infrastructure operational view? Is it possible to apply our lovely cloud native principals as well? What benefit’s both technologies could bring to each other?
Let me take this questions and provide you a short journey through existing deployment models and use cases for AI software. On practical examples, we discuss what cloud/on-premise strategy we may need for applying it to our own infrastructure to get it to work from an enterprise perspective. I want to give an overview about infrastructure requirements and technologies, what could be beneficial or limiting your AI use cases in an enterprise environment. An interactive Demo will give you some insides, what approaches I got already working for real.
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
Keynote at DIGIT West Expo, Glasgow on 29 May 2024.
Cheryl Hung, ochery.com
Sr Director, Infrastructure Ecosystem, Arm.
The key trends across hardware, cloud and open-source; exploring how these areas are likely to mature and develop over the short and long-term, and then considering how organisations can position themselves to adapt and thrive.
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
Connector Corner: Automate dynamic content and events by pushing a buttonDianaGray10
Here is something new! In our next Connector Corner webinar, we will demonstrate how you can use a single workflow to:
Create a campaign using Mailchimp with merge tags/fields
Send an interactive Slack channel message (using buttons)
Have the message received by managers and peers along with a test email for review
But there’s more:
In a second workflow supporting the same use case, you’ll see:
Your campaign sent to target colleagues for approval
If the “Approve” button is clicked, a Jira/Zendesk ticket is created for the marketing design team
But—if the “Reject” button is pushed, colleagues will be alerted via Slack message
Join us to learn more about this new, human-in-the-loop capability, brought to you by Integration Service connectors.
And...
Speakers:
Akshay Agnihotri, Product Manager
Charlie Greenberg, Host
JMeter webinar - integration with InfluxDB and GrafanaRTTS
Watch this recorded webinar about real-time monitoring of application performance. See how to integrate Apache JMeter, the open-source leader in performance testing, with InfluxDB, the open-source time-series database, and Grafana, the open-source analytics and visualization application.
In this webinar, we will review the benefits of leveraging InfluxDB and Grafana when executing load tests and demonstrate how these tools are used to visualize performance metrics.
Length: 30 minutes
Session Overview
-------------------------------------------
During this webinar, we will cover the following topics while demonstrating the integrations of JMeter, InfluxDB and Grafana:
- What out-of-the-box solutions are available for real-time monitoring JMeter tests?
- What are the benefits of integrating InfluxDB and Grafana into the load testing stack?
- Which features are provided by Grafana?
- Demonstration of InfluxDB and Grafana using a practice web application
To view the webinar recording, go to:
https://www.rttsweb.com/jmeter-integration-webinar
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
Are you looking to streamline your workflows and boost your projects’ efficiency? Do you find yourself searching for ways to add flexibility and control over your FME workflows? If so, you’re in the right place.
Join us for an insightful dive into the world of FME parameters, a critical element in optimizing workflow efficiency. This webinar marks the beginning of our three-part “Essentials of Automation” series. This first webinar is designed to equip you with the knowledge and skills to utilize parameters effectively: enhancing the flexibility, maintainability, and user control of your FME projects.
Here’s what you’ll gain:
- Essentials of FME Parameters: Understand the pivotal role of parameters, including Reader/Writer, Transformer, User, and FME Flow categories. Discover how they are the key to unlocking automation and optimization within your workflows.
- Practical Applications in FME Form: Delve into key user parameter types including choice, connections, and file URLs. Allow users to control how a workflow runs, making your workflows more reusable. Learn to import values and deliver the best user experience for your workflows while enhancing accuracy.
- Optimization Strategies in FME Flow: Explore the creation and strategic deployment of parameters in FME Flow, including the use of deployment and geometry parameters, to maximize workflow efficiency.
- Pro Tips for Success: Gain insights on parameterizing connections and leveraging new features like Conditional Visibility for clarity and simplicity.
We’ll wrap up with a glimpse into future webinars, followed by a Q&A session to address your specific questions surrounding this topic.
Don’t miss this opportunity to elevate your FME expertise and drive your projects to new heights of efficiency.
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on the notifications, alerts, and approval requests using Slack for Bonterra Impact Management. The solutions covered in this webinar can also be deployed for Microsoft Teams.
Interested in deploying notification automations for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
UiPath Test Automation using UiPath Test Suite series, part 3DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 3. In this session, we will cover desktop automation along with UI automation.
Topics covered:
UI automation Introduction,
UI automation Sample
Desktop automation flow
Pradeep Chinnala, Senior Consultant Automation Developer @WonderBotz and UiPath MVP
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Mobile App Development and Xamarin as a Complete Mobile Solution
1. By
Mukteswar Patnaik
Lets have a Fresh thinking about…
Mobile App Development
Why to switch from traditional/web development to App Ecosystem?
Available Approaches & challenges.
Leading towards Xamarin.
2. What we will talk about…
• How we reached to Mobile Era & Why to Go Mobile?
• The challenges of Going Mobile.
• Development Approaches
• Silo, Web/Hybrid, Crossplatform
• Exiting solutions for Crossplatform development
• Leading towards Xamarin
13-May-17 2
4. Why to Go Mobile?
• Your customers expect it
• (Service exactly when the customer need)
• Your competitors already did
• (Assumption to beat the competitors)
• You’ll enhance communication in the field
• (All in the same page)
• You’ll collect better analytics
• (All live statistics without huge expenses)
• Your sales team will be more responsive
• (Opportunity strikes likes lightening & lightening never strikes twice at same place)
• You can’t afford not to
• (“going mobile” is a profound benefit in the long-term.)
13-May-17 4
5. The challenges of Going Mobile
• Vendor / Platform Fragmentation
• Google (Android), Apple (iOS), Microsoft (WinPhone) and BlackBerry
• Which vendor/platform to target?
• If Multiple platform, How to get the time & funds?
• Device Fragmentation
• 10+ variants of iPhone with different OS versions & hardware
• 10+ vendors manufacturing WinPhone with various hardware
• N-Number of Vendors, Unlimited types of devices with wide range of OS
version
• Development Approach
• Native, Web(HTML5/CSS/JavaScript), Hybrid, Crossplatform
13-May-17 5
7. Development Approaches: Silo
• Purely Native, leading to Max Performance
• Same functionality developed multiple times
• Preferably one team for each platform
• Feature & performance may differ platform
to platform
• Tough to Sync Development life cycle in
between all platforms & teams
• Difficult to extend & provide
support/maintenance
• High development cost
• Less knowledge sharing & least Code sharing
13-May-17 7
8. Development Approaches: Web
• Features / Pros
• Developed using mostly HTML5, CSS3, JavaScript, JQuery
• Runs in browser, Hence highly portable
• Apps are executed on the Web servers and accessible via Mobile Web browsers
• Better manageability due to web server based deployments
• Higher ease of code maintainability and reuse
• Decrease in total cost of ownership
• Limitations / Cons
• Lack of Native UI feel & fails to access Platform features
• Lower performance due to browser based dependencies
• Highly dependent on native browser implementation for access to device
capabilities
• Unpredictable performance due to higher dependency on Internet connection
13-May-17 8
9. Development Approaches: Hybrid
• Combination of both web based and native app development.
• Applications are built using web technologies like HTML5, CSS3 and Java Scripts
and involve the native APIs for access to device specific capabilities.
• These apps are resident on the devices as they are packaged within the browser
control of the platform and compiled using the native SDK
• Features / Pros
• Access to limited native device capabilities
• Very good portability across platforms
• Good ease of deployment like Native apps
• Decrease in total cost of ownership
• Limitations / Cons
• UI better than mobile web apps, but not on par with native
• Possible lower performance due to browser based dependencies and the extent of the web
dependency
• Dependency on the hybrid platform provider capability for native API extensions
“Facebook’s biggest mistake was
betting too much on HTML5
as opposed to native app development.”
~Mark Zuckerberg [Facebook CEO]
13-May-17 9
10. Development Approaches: Crossplatform
• Transform the source code compiled into the native device specific platforms,
deployed directly on devices
• Provide specific APIs that leverage deep native integration capabilities and the
apps developed through this method have a rich user experience that closely
mirrors the native UX [User eXperience]
• Features / Pros
• Richer UX like native apps
• Leverage platform specific capabilities
• Can be ported to multiple platforms though development in a single language
• Deployment on the popular app stores ecosystems is high
• Limitations / Cons [Exception: Xamarin]
• The ability to develop the app is governed by the limitations of the platform APIs
• Certain native capability usage inhibits seamless portability of the app
• Not available for all platforms and are limited to certain/few [Xamarin: iOS, Android,
WinPhone, UWP, Silverlight]
13-May-17 10
11. Thinking Crossplatform:
Xamarin, The most matured one till date…
• Almost 100% Code/UI sharing
• 100% API access to all
platform
• Open source & now Microsoft
owned
• Comes with Visual Studio and
a complete solution
• Assured Day-1 support for
upcoming devices & platform
releases
13-May-17 11
• Xamarin vs Hybrid-HTML
• As tested & said by Kevin Ford,
Mobile Practice Lead, Magenic
• 62% Faster in Loading large
datasets
• 50% less memory used
• 76% less CPU cycles
• 22X Faster CPU intensive
12. Few Questions before you switch to App…
• Are we building applications that are graphics intensive? [Native]
• Are we building applications that need a lot of algorithmic computation? [Code Sharing]
• Does the application need integration to device specifics? [Native]
• Is app security a high priority? [Security features]
• Do we need to deploy the app on multiple platforms? [Crossplatform & its support]
• What changes do we anticipate in the app and can this be addressed on a chosen
development model?
• Is there an immediate need to deliver the app to the market? [Time Factor for release]
• Are the chosen tools mature enough to provide sufficient support for development?
• Does the app need to sync with back end systems and data sources? [Compatibility]
• How frequently do we need to upgrade the app and does the app storefront deployment
plan support this requirement? [Playstore/AppStore plans]
13-May-17 12
13. Xamarin, a complete solution
Xamarin Native/Traditional Approach
Xamarin.Forms Approach
Code Sharing Strategies
By
Mukteswar Patnaik
14. Xamarin Agenda
• Going Cross platform, I Prefer Xamarin
• How Xamarin is a complete Solution for Mobile platform?
• Xamarin Studio & VS2015 with Xamarin
• Getting it, Prerequisite, Installation
• Configuring & Checking the readiness of IDE
• Xamarin.Native / Traditional
• Xamarin.Forms
• Code Sharing Strategies
• PCL & SAP in detail with Pros & Cons
• [Libraries] [NuGet, Xamarin Components]
13-May-17 14
16. Xamarin – A Complete Mobile Solution
• Open Source & Acquired by
Microsoft
• Native as well as Cross platform
Mobile Application Development
• 100% API support for all
platform[iOS, Android, WinPhone]
• Support from Day-1 for iOS, Android
& WinPhone
• Available with All edition of Visual
Studio 2015 onwards
• Test Cloud & Hockey… for testing &
Monitoring Mob Apps
Not just a platform, rather a Complete Mobile Development Solution
13-May-17 16
17. Xamarin – A Complete Mobile Solution
• Enroll/Login to https://university.xamarin.com/
• Free trial, learn A-Z of Xamarin
• Live, online classes
• Self-guided learning
• Guest lectures
• Affordable tuition
Learn from Xamarin University
Earn the Xamarin Certified
Mobile Developer designation13-May-17 17
18. Xamarin – A Complete Mobile Solution
• Xamarin apps look and feel
native because they are
• Native UI, API Access,
Performance
• More Types, Less Typing
• Stronger Types, Smarter Tools
• Language-level Async
• First-class Functions
• Share code/UI everywhere
[SAP/PCL/Forms]
Deliver Native Android, iOS, Windows using existing skills and code.
13-May-17 18
19. Xamarin – A Complete Mobile Solution
• Xamarin enables you to develop a single solution and deploy it to Android,
iOS, and Windows devices.
• After you define three [Each for every platform with all configurations / customization]
CI builds, you can build the app whenever your team checks in code.
• Upload your Xamarin solution to VSTS or your TFS. Either push your code to
Git or check in your code to TFVC[Team Foundation Version Control].
TFS / VSTS – CI Build
13-May-17 19
20. Xamarin – A Complete Mobile Solution
• Automate your app testing on 2,000 real devices in the cloud.
• Use any device feature[GPS, Camera, sensors]
• TestRecorder : test everything your users can do, from pinching and swiping
to double-tapping and scrolling. Trigger Test from CI Builds too.
• Analyze detailed reports with results, screenshots, and performance metrics.
• Learn more on https://www.xamarin.com/test-cloud
Xamarin Test Cloud [XTC] - Mobile app testing made easy.
13-May-17 20
21. Xamarin – A Complete Mobile Solution
• Bring Mobile DevOps to your apps with beta distribution
• crash reporting, user metrics, feedback, and powerful workflow integrations
• VS Mobile Center (In Preview state) combines the features of HockeyApp with
cloud-based development, testing, and analytics
Xamarin.Insights + HockeyApp
13-May-17 21
22. Xamarin – A Complete Mobile Solution
• Learn >> Develop >> Build Automation >> Auto Testing >> Mobile DevOps
Xamarin - A COMPLETE MOBILE SOLUTION
13-May-17 22
23. About XS & VS2015 with Xamarin
VS2015(U3)
• If you have VS, stick to it as this
gives much more i.e. WinForms
/ WPF, ASP.NET, Cordova, and so
on…
• On windows you can develop
UWP, Android and iOS(With Mac
Agent)
• VS Preview on Mac, Expecting
production release soon.
Xamarin Studio
• XS, cross platform for iOS,
Android and UWP
• XS for Windows further
production stopped.
• On Windows only Android &
WinPhone apps supported
• On Mac, Android & iOS can be
targeted
13-May-17 23
24. Prerequisite for VS with Xamarin
• A Xamarin Sign-in ID at https://www.xamarin.com/ [Free]
• A Physical Computer [Not VM] either with
• Windows
• Preferably Windows 8 or Later with Hyper-V enabled
• A Mac on Network to be used as an Mac agent for building iOS apps
• Mac : With OS X Yosemite running OS X 10.10.5 or later with Apple-ID
• Preferably Visual Studio 2015 (Update 3) or Later
[Community/Professional/Enterprise]
• Make sure to Check for the internet connection with needed whitelists
13-May-17 24
25. Installation
• Download the Visual Studio installer from
http://VisualStudio.com & launch installer.
• If VisualStudio already installed, Modify the
installer from Program & Features >
VisualStudio> Change
• Select Custom installation & Choose ‘C#/.NET
(Xamarin)’
• Also select the templates you need to install i.e.
UWP etc
• Select the Emulators needed
13-May-17 25
26. Configuring the IDE
• Open Visual Studio & Go to Tools>Xamarin Account
• Add Xamarin account details
• Go to Tools > Options > Xamarin or Tools > Options > Xamarin > Other,
where you’ll find a Check Now link. You may update the Xamarin if needed.
• Go to Tools > Android > Android SDK Manager and install the newest
version of the Android SDK Tools, Android SDK Platform-tools, and Android
SDK Build-tools components.
• Select suitable Emulators for Android, iOS, WP & UWP.
• Preferably continue with Hyper-V. Avoid running multiple Emulators & VMs
simultaneously
13-May-17 26
27. Checking the readiness of IDE
• Create a Xamarin Native PCL Project [Default Hello Xamarin App]
• Build & Run
• Create a Xamarin.Form PCL Project [Default Hello Xamarin App]
• Build & Run
13-May-17 27
Starting with App Development
with Visual Studio 2015(U3)
Enterprise with Xamarin
30. Basic Idea About Xamarin Approaches
Blank/XAML
Code sharing strategies
Approaches for App development
Complete Crossplatform Mobile
App Development Solution Xamarin
Xamarin Native/Traditional
PCL
Blank
App
SAP
Blank
App
Xamarin.Forms
PCL
Blank
App
With
XAML
SAP
Blank
App
With
XAML
13-May-17 30
31. Which Approach to Choose?
Xamarin.Forms Xamarin Traditional/Native
Apps with common interactions
across device platforms
Apps with interaction that
require native behavior
Apps where code sharing is more
important than custom UI
Apps that use
many platform-specific APIs
Apps that require
little platform-specific functionality
Apps where custom UI is more
important than code sharing
Learn more:
xamarin.com/forms
Learn more:
xamarin.com/platform
13-May-17 31
32. Xamarin – Crossplatform & Code Sharing
• Xamarin apps look and feel native because they are
• Native UI, API Access, Performance
• Crossplatform, here “Native” means Native to every platform
• Both Code as well as UI can be shared [Native vs Forms]
• Code sharing
• Shared Assets Project
• Portable Class Library
13-May-17 32
33. Shared Projects / Shared Assets Projects(SAP)
• Features/Pros
• Allows to share at source code level
• Single copy of source/assets complied for individual platform
• Maximum API support
• Platform specific logic can be added directly(Conditional compiling)
• Cons
• Leads to spaghetti code
• Harder to unit test
• Must be shipped in source form
13-May-17 33
35. 13-May-17 35
public static string DatabaseFilePath
{
get
{
var sqliteFilename = "TaskDatabase.db3";
#if NETFX_CORE
var path =
Path.Combine(Windows.Storage.ApplicationData.Curr
ent.LocalFolder.Path, sqliteFilename);
#else
#if SILVERLIGHT
// Windows Phone
var path = sqliteFilename;
#else
#if __ANDROID__
string libraryPath =
Environment.GetFolderPath(Environment.SpecialFold
er.Personal); ;
#else
// we need to put in /Library/ on iOS5.1 to meet
Apple's iCloud terms
// (they don't want non-user-generated data in
Documents)
string documentsPath = Environment.GetFolderPath
(Environment.SpecialFolder.Personal);
// Documents folder
string libraryPath = Path.Combine (documentsPath,
"..", "Library"); // Library folder
#endif
var path = Path.Combine (libraryPath, sqliteFilename);
#endif
#endif
return path;
}
}
36. SAP Continued… [Solution Explorer]
13-May-17
Right Click on Each platform project,
Add Reference to the
Shared project.
[Done by Default]
36
37. Portable Class Library - PCL
• Features/Pros
• Shared as binary ( .dll)
• Based on the selection of platforms, APIs will be available (The more platform
you choose, the better the support)
• Enforces architectural design
• Can be Unit tested separately as binary
• Can be shared on NuGet as binary
• Cons
• Limited API support (Dependency Injection/Service Overcomes most…)
• Requires more work to integrate platform specific code
13-May-17 37
Your customers expect it
the expectation among consumers and businesses alike is that mobile solutions will be available when the need arises.
failing to do so will likely lead to brand damaging frustration.
YOUR COMPETITORS ALREADY DID
If your customers expect it, then your competitors already fulfilled their wishes. Even if not explicitly true, this assumption should be the modus operandi of businesses wishing to stay abreast of the market.
YOU’LL ENHANCE COMMUNICATION IN THE FIELD
With mobile capabilities, such as cloud storage and mobile enabled IM, everyone from product developers to salespeople to managers can stay on the same page
YOUR SALES TEAM WILL BE MORE RESPONSIVE
Opportunities arise on a moment’s notice, and capitalizing on them requires agility. mobile solutions offer unparalleled responsiveness not only in communications, but in logistics as well
YOU’LL COLLECT BETTER ANALYTICS
you can leverage the power of Big Data without the expense of distributed, Internet enabled devices. In essence, your teams become the collection devices, and their performance reaps the benefit.
YOU CAN’T AFFORD NOT TO
it is the natural progression of technology to be more convenient, more adaptable to our circumstances, and more responsive to our needs. The change will benefit your business in the long-run, outweighing the initial investment by a considerable margin.
More Types, Less Typing
C# uses type inference to give developers more safety in fewer keystrokes, without boilerplate or verbose type annotations
Stronger Types, Smarter Tools
Generics guarantee that collections and other compound types are used safely, without the need for casts or comments. Xamarin tools understand intent better thanks to richer types, with benefits like ubiquitous code completion.
Language-level Async
Asynchronous programming (async) keeps apps responsive. In Objective-C, Swift and Java, async requires callbacks and manual bookkeeping. C#’s language-level support makes async a breeze.
First-class Functions
In Java for Android, lambdas are unavailable. In Objective-C, lambdas are extremely cumbersome. In C#, lambdas couldn’t be simpler, making functional programmers feel right at home.
Share code everywhere
Use the same language, APIs and data structures to share an average of 75% of app code across all mobile development platforms. Build user interfaces with Xamarin.Forms and share nearly 100%.
All BusinessLogic/Code in Shared project.
SharedProject code referred in each project
Bug in IDE… Sometimes it does not shows link but still works fine
NuGet package installation issues with SAP:
You need to install NuGet to individual platform projects, not to shared Project
All dependencies also need to be individually installed
Updating a single package may halt the whole build