Mobile technology has transformed how people live and work faster than previous innovations like the internet or personal computers. Mobile apps are now just one part of larger, omnichannel application architectures. Microsoft offers tools to help developers create rich cross-platform mobile experiences, connect mobile apps to backend systems, and deliver apps with agility using a DevOps approach encompassing development, testing, deployment, and monitoring.
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Create engaging mobile experienceswith Visual Studio, Microsoft Azure and Xamarin
1.
2. Mobile represents the single largest
technology innovation of all time.
Mobile is
transforming how
we live and work …
3. Faster than the
Internet boom of the 90s
Faster than the
PC boom of the 80s 10x
Faster than the recent
social networking explosion3x
2x
Mobile has happened ...
4. More than just apps …
A mobile app strategy is not sufficient if you want to be
successful in your future mobile development efforts. You
need to think of mobile apps as one component of larger,
modern, omnichannel application architecture …
*Source: Forrester Predictions 2015: CIOs Accelerate The Business Technology, Q4 2014
Mobile apps are a part of
larger modern applications
5. Deliver mobile applications with
digital-era agility + velocity
How Microsoft can help
Create rich, cross-platform
mobile experiences Extend business data
and LOB applications to mobile
Enterprise
Cloud Platform
8. Platform silos
Better TCO, productivity and development experience
Enduserexperience
Developer
Only services (server-side) can be re-used
Client development and developer experience
is different for each platform and device type
Higher TCO due to multiple code bases and
requirements for developer skills
End User
Platform-native UX
Full performance
Native service integration
Objective-C + Xcode
Java + Eclipse
.NET + Visual Studio
9. Write once, run anywhere
Better TCO, productivity and development experience
Enduserexperience
Developer
Great for teams with HTML/JavaScript skills
Scaling to enterprise complexity challenging
Developer productivity with Visual Studio
Mature tooling
End User
Non-native UX
Performance tradeoff
Works across devices
10. Cross-platform native with Xamarin
Better TCO, productivity and development experience
Enduserexperience
Developer
100% C# with 100% of platform APIs exposed
More productivity and faster development
Up to 95% code reuse across platforms
Up to 100% shared UI with Xamarin.Forms
One code base & IDE for client and backend
End User
Platform-native UX
Full performance
Native platform service integration
“The best of both worlds”
11. Anything you can do in
Objective-C, Swift or Java,
you can do with Xamarin
• Native user interface.
• Native performance.
• High-fidelity API access.
C# + XIB C# + AXML C# + XAML
Native UI Native UI Native UI
Cross-platform native
12.
13. Extending your business to mobile
Hybrid infrastructure Powerful cloud services Flexible backend models
14. A/B Testing
Live Update Storage
Push Notifications
Crash Reporting Remote Config. Identity
Tables
Visual Studio Mobile Center
Mission control for mobile apps
15.
16. The converged DevOps lifecycle
Develop + Test
Plan + Track
Monitor + Learn
Release
Development Production
17. App factory mindset
Highest quality, lowest cost,
shortest time to market
1. Maximize output and shrink lead times
for new apps and updates.
2. Ensure highest-quality user experience
on any device.
3. Scale delivery by standardizing work,
automating processes, and minimizing
redundancy + waste.
18. Mobile app continuous delivery with Microsoft
Backlog
Monitor and improve
Users and customers
install and use app
Telemetry Collection
App Testing Beta TestingCode Repository | Build + Deploy
19.
20. The business impact of good testing practices
Always high quality
Ensure a quality user
experience that keeps
users engaged
Shorter lead time
Lower release times and
deliver new apps faster
Frequent updates
Solve issues, push app
updates out quickly, and
focus on innovation
Broad reach
Keep up with the
constantly changing
device market
21. Mobile quality is hard!
Mobile developers face a
myriad of challenges
• Device fragmentation.
• Apps are complex.
• Manual testing is slow and error-prone.
• Users use apps in unexpected ways.
22. for
Mobile app quality, done right
• Diverse library of real devices.
• Simulate real user interactions.
• Test continuously.
• Analyze app performance.
• Use the tools you know.
• Test native device functionality.
23. The solution: Beta distribution and crash reporting
Learning from real users
• Distribute apps to beta users and
analyze feedback results.
• Know instantly if users are having
problems and pinpoint exact issues.
• Learn from production usage and
connect to direct marketing actions.
24. for
Bringing DevOps to mobile
• Distribute your app.
• Collect crash reports.
• Gather user feedback.
• Understand app adoption.
• Track app usage.
25. The Microsoft Mobile DevOps Solution
A comprehensive solution for developers and organizations that want to
plan, build, test, deploy, operate, and monitor mobile business applications.
Create rich, cross-platform
mobile experiences
Connect mobile applications
to business data and applications
Deliver mobile applications
with digital-era agility + velocity
Not just Apps or Mobile UI/Frontend, rather its „Shift towards the Universal Applications” i.e. running on Mobile, tablet, iPad, SmartTV, wearables.
Universal Applications
Service whenever & wherever needed,
AI/VR functionality,
GPS based services,
M-Commerce,
IoT(Internet of Things) like(Wearable technology, Smart Stores, Home Automations etc)
Cross-Platform and Cross-Device Development [Xamarin with C# & DevOps]
Enterprise Apps, Cloud [Azure Services]
line-of-business (LOB) are set of critical computer applications that are vital to running an enterprise, it is also used as a synonym for corporate division
The treand is like....
Expect super efficient service wherever/whenever needed
Be smart staying lazy with true Mobility
No one wish to go to a terminal for accessing a service or information
Hence Mobile client is the ultimate solution.
3 popular approaches for achieving Mobility / developing Mobile Clients
Web or Hybrid [Wrapper/WebView on Native]
Platform Silos, develop separate for each platform
Cross-platform-native, develop native app once for all platform with shared codebase & UI
Advantages:
1.> Pure Native UI and all native integration.
2.> Full performance due to native development.
Server-side: database, Webservices etc… are only shared.
Every platform developer will go thru a different experience depending on his platform.
Total Cost of Ownership will be high as
Multiple teams… Different skillsets with respect to every platform
Multiple IDEs, Multiple code base, each completely different from other
More work hours as need to be developed same features multiple time, each for one platform
Release dates may for all platforms as every platform may take its own time
Cordova:
It allows you to use standard web technologies - HTML5, CSS3, and JavaScript for cross-platform development. Applications execute within wrappers targeted to each platform, and rely on standards-compliant API bindings to access each device's capabilities such as sensors, data, network status.
Advantage:
1.>Works across almost all devices.
2.>Nice for HTML/JavaScript teams to adopt Mobile platform
3.> Our favorite Visual Studio providing productivity
DisAdvantage:
1.>As developed with HTML/JavaScript, purely NON-NATIVE User Experience(UX)
2.>Performance will be poor as it cannot use the true capability of Native platform.
Meets both End User and Developer needs completely.
End User:
1.> Pure Native User Experience as its cross-platform NATIVE
2.> Full performance being Native platform integrated
Developer:
1.> complete C# code base, no additional programing language
2.> 100% i.e. all Native-API accessible on All platform.
3.> Almost 100% code reuse, saves time of development.
4.> 100% shared UI with Xamarin.Forms. Design once for all platforms.
5.> One Code base, One IDE and same Backend/Server-side
Xamarin : Cross-platform NATIVE enables you to develop:
All C# code.
Fully native UI delivering pure native User eXperience [UX]
The Android UI can be developed with same AXML with Shared code approach
Both XiB & Story board approach is available for iOS
XAML in Xamarin forms gives pure Native UI which shared too
All platform specific low level API available on all platform
Camera, GPS, Microphone, All sensors, every native API exposed
Code to be written C#
Business logic too shared.
One Business logic
developed once
shared for all platforms
Anything can be done with Android Studio or Swift/Obj-C on iOS can be achieved with shared C#
A "front-end" application is one that application users interact with directly.
A "back-end" application or program serves indirectly in support of the front-end services
Example:
a front-end application might interface directly with users and forward requests to a remotely-located back-end program in another computer to get requested data or perform a requested service.
Relative to the client/server computing model, a front-end is likely to be a client and a back-end to be a server.
Every enterprise has scenarios:
premises applications
Authentication & identification issues
Azure comes to rescue with PaSS services & many back end services
Secure cloud services : App/data
Connectivity: Azure VPN
Authentication / Identification
Intune… App & data security
Device management
Powerful Cloud Services & Mobile Center:
A powerful integration of backend services for MobDevOps.
Authentication / Identity
Build Android, iOS and UWP [connect with any codebase/repository]
Test using Xamarin Test Cloud[Physical devices, real-time testing]
Distribution: Alpha/Beta Groups , Store integration [Play Store/InTune store]
Monitoring: Powerful Analytics & Crash reports
Easy Push notification
Azure storage
Agile/scrums
an alternative to Waterfall/Sequential development
Delivers
increased value, Visibility, adaptability much earlier in the life cycle
significantly reducing project risk
DevOps (a clipped compound of "development" and "operations") is a software engineering practice that aims at unifying software development (Dev) and software operation (Ops).
Perfect intersection/combination of (Dev + QA) + Operation
Mobile App Continuous Integration Continuous Deploy [CICD]
VSTS
Work items, backlogs, Repository
Build & Deploy : CICD
XTC: Xamarin Test Cloud [ Testing App on Various Physical Devices]
Beta Testing: HocketApp/MobileCenter Distribution
Release: Monitoring… Analytics & CrashReports
Fixing bugs… Repeate Cycle
Various platforms i.e. Android, iOS, UWP
Every platform has various versions of OS
Many screen sizes, configurations etc
Complex App & more complex test scenarios
Time consuming manual testing
Unlike desktop/web applications, Unpredictable use by Users