SlideShare a Scribd company logo
By
Hector Luciano Jr
 Introduction
 About BlumShapiro
 Quick Update on Cross Platform Mobile Dev
Landscape
 Intro into Xamarin
 Demo C# IPhone App SharePoint/Office 365
 Demo Shared UI Code
 Questions
 SharePoint Developer
 Mobile App Developer
 Certifications
 MCSD Web Applications
 MCPD SharePoint Development,
 MSCE and Mobile (In Progress)
 Hobbies
 Cross Fit
 Chess Player
 Contact
 hluciano@blumshapiro.com
 @hluciano
 Hlucianojr.wordpress.com
 Demo Github
 https://github.com/hlucianojr/xsps
ervice.demo
 The largest regional, accounting, tax and business consulting firm
based in New England
 Established in 1980 as a small accounting firm in West Hartford
 350 professionals in Connecticut, Massachusetts and Rhode Island
 Vision to be the dominant professional services firm based in New
England
▪ Organic growth with a large emphasis on consulting
▪ Strategic acquisition of firms sharing our values
▪ Best Place to Work
▪ Commitment to Community, diversity and stewardship
 With this strategy and geographic focus we are able to attract outstanding
talent with shared values.
4
 Representative Clients
6
 Telerik Platform
 Pure HTML5 Hybrid Apps for
▪ iOS
▪ Android
▪ Windows Phone 8
 Multi-Device Hybrid Apps
 Integration into Visual Studio
 Build Apps for
▪ iOS
▪ Android
▪ Windows(Some Devices)
Tools
 Visual Studio 2010, 2012, 2013
 SharePoint Designer
Programing Languages
 Asp.Net (C#)
 C#
 JavaScript
Demo
Xamarin forVisual Studio
Xamarin Studio
(Mac and,PC)
Component Store
Xamarin Form
IOS TEMPLATES
ToolBox
Properties
Xamarin iOS Project Structure
Storyboard File
Controller
App Delegate
Demo
 Model View Controller
Pattern
 Model: POCO, DTO, object hold
application data.
 View: Visual presentation of the
model.
 Controller: mediator between
model and view.
 iOS MVC Classes
 UIViewController: the controller
access to the Model/Models
 UIView: the view gets display to
the user
 DataSource: collection of
Models or Model
ViewModel
Controller
 40+ Pages, Layouts, and
Controls
 Build from code behind
or XAML
 Two-way Data Binding
 Navigation
 Animation API
 Dependency Service
 Messaging Center
 Async for .Net Framework
 Microsoft BCL Portability Pack 1.1.9
Check out: https://github.com/jamesmontemagno/Xamarin.Plugins
 Battery Status: Get battery level, how it is
getting charge, and events.
 Connectivity: See if device is connected to the
internet and through what connection type.
 Contacts: Currently in Alpha
 Device Information: Base information about
each device such as OS and version.
 Extended Maps: Launch navigation directions
in default map app on each OS
 Geolocator: Currently in Alpha
 Media: Take or pick photos/videos
 Settings: Fully cross platform settings for your
application.
 Text To Speech: Turn your text into a vocal
symphony on mobile devices.
 Vibrate: Make that device rumble!
 Determine your app capabilities
 Mail
 Calendar
 Contacts
 Files
 Sites
 Determine Resource Id and Endpoint Uri of Office 365 Service
API.
 What is Model View ViewModel
 ViewModel: describes
integration with View via
properties, commands and
observable objects
 View: User interface, XAML
markup or Code
 Model: refers to entities, objects,
data sources.
 Benefits
 Loosely coupled architecture
 Testable code.
 Requirement
 Observable Collection
 Command Pattern
 Binding
ViewModel
View Model
Stack Absolute Relative Grid ContentView ScrollView Frame
Content MasterDetail Navigation Tabbed Carousel
ActivityIndicator BoxView Button DatePicker Editor
Entry Image Label ListView Map
OpenGLView Picker ProgressBar SearchBar Slider
Stepper TableView TimePicker WebView EntryCell
ImageCell SwitchCell TextCell ViewCell
Demo
Xamarin – Your Complete Mobile Solution
DESIGN – DEVELOP -
INTEGRATE
TEST MONITOR
LEARN
 Integrated with your App
 Real-time Monitoring
 See crashes and issues in on
spot
 Captures Usages
 Others
• MacBook Pro
– CPU: 2.2 GHz Intel Core i7
– Memory: 16GB
• Installed Software
– Maverick OS X 10.9.4
– Xamarin Studio 5.2(Build 386)
– Parallel Desktop
• Dell Latitude
– CPU: 2.70 GHz Intel Core i7
– Memory: 8GB
• Installed Software
– Windows 7 PS1
– Visual Studio 2013
– Xamarin Studio 5.2(Build 386)
 Compilation to Native
machine code
 App Certificates
 Code-Signing
 App Deployment
Wi-Fi
(Static IP)
Accessing SharePoint via Wi-Fi
Ethernet
(Static IP)
Development Network Setup
AccessingXamarin Host
 SharePoint on Android Wear, Glass?
 SharePoint on Amazon Fire?
 SharePoint on Yosemite?
 Other?
The End
IN WINDOWS IN MAC
SharePoint Mobile App Development with Xmarin
SharePoint Mobile App Development with Xmarin
SharePoint Mobile App Development with Xmarin

More Related Content

What's hot

Building a Cross-Platform Mobile App Backend in the Cloud with Node.js
Building a Cross-Platform Mobile App Backend in the Cloud with Node.jsBuilding a Cross-Platform Mobile App Backend in the Cloud with Node.js
Building a Cross-Platform Mobile App Backend in the Cloud with Node.js
Nick Landry
 
Hitchhicker's Guide to Using Xamarin Forms with RESTful Services
Hitchhicker's Guide to Using Xamarin Forms with RESTful ServicesHitchhicker's Guide to Using Xamarin Forms with RESTful Services
Hitchhicker's Guide to Using Xamarin Forms with RESTful Services
Heather Downing
 
Smaller Not Taller: Defeating the mobile application architecture giant
Smaller Not Taller: Defeating the mobile application architecture giantSmaller Not Taller: Defeating the mobile application architecture giant
Smaller Not Taller: Defeating the mobile application architecture giant
Heather Downing
 
Intro to Building Mobile Apps with Xamarin
Intro to Building Mobile Apps with XamarinIntro to Building Mobile Apps with Xamarin
Intro to Building Mobile Apps with Xamarin
Heather Downing
 
Xamarin.Forms
Xamarin.FormsXamarin.Forms
Xamarin.Forms
Nicolò Carandini
 
Cloud-enabling the Next Generation of Mobile Apps
Cloud-enabling the Next Generation of Mobile AppsCloud-enabling the Next Generation of Mobile Apps
Cloud-enabling the Next Generation of Mobile AppsNick Landry
 
Enterprise-grade mobile barcode scanning with Scandit and Xamarin
Enterprise-grade mobile barcode scanning with Scandit and XamarinEnterprise-grade mobile barcode scanning with Scandit and Xamarin
Enterprise-grade mobile barcode scanning with Scandit and Xamarin
Xamarin
 
Desktop Developer’s Guide to Mobile with Visual Studio Tools for Xamarin
Desktop Developer’s Guide to Mobile with Visual Studio Tools for XamarinDesktop Developer’s Guide to Mobile with Visual Studio Tools for Xamarin
Desktop Developer’s Guide to Mobile with Visual Studio Tools for Xamarin
Xamarin
 
Azure Community Conference - Image Recognition in WhatsApp chatbot with Azure...
Azure Community Conference - Image Recognition in WhatsApp chatbot with Azure...Azure Community Conference - Image Recognition in WhatsApp chatbot with Azure...
Azure Community Conference - Image Recognition in WhatsApp chatbot with Azure...
Luis Beltran
 
Xamarin ile Cross Platform Development
Xamarin ile Cross Platform DevelopmentXamarin ile Cross Platform Development
Xamarin ile Cross Platform Development
Engin Polat
 
WP7 Platform Architecture
WP7 Platform ArchitectureWP7 Platform Architecture
WP7 Platform ArchitectureKivanc Ozuolmez
 
NET Conf Bhubaneswar - Migrating your Xamarin.Forms app to .NET MAUI.pptx
NET Conf Bhubaneswar - Migrating your Xamarin.Forms app to .NET MAUI.pptxNET Conf Bhubaneswar - Migrating your Xamarin.Forms app to .NET MAUI.pptx
NET Conf Bhubaneswar - Migrating your Xamarin.Forms app to .NET MAUI.pptx
Luis Beltran
 
Xamarin microsoft graph
Xamarin microsoft graphXamarin microsoft graph
Xamarin microsoft graph
Nicolò Carandini
 
Designing cross-platform User Interface with native performance using Xamarin...
Designing cross-platform User Interface with native performance using Xamarin...Designing cross-platform User Interface with native performance using Xamarin...
Designing cross-platform User Interface with native performance using Xamarin...Pranav Ainavolu
 
From MVC to Xamarin
From MVC to XamarinFrom MVC to Xamarin
From MVC to Xamarin
Jesse Liberty
 
Mobile Cross-Platform App Development in C# with Xamarin
Mobile Cross-Platform App Development in C# with XamarinMobile Cross-Platform App Development in C# with Xamarin
Mobile Cross-Platform App Development in C# with Xamarin
Nick Landry
 
Building hybrid apps with Xamarin, Ryan Paul
Building hybrid apps with Xamarin, Ryan PaulBuilding hybrid apps with Xamarin, Ryan Paul
Building hybrid apps with Xamarin, Ryan PaulXamarin
 
Blank Slate Css Meetup
Blank Slate Css MeetupBlank Slate Css Meetup
Blank Slate Css Meetup
NYCSS Meetup
 
Building a Node.js Backend in the Cloud for Android Apps
Building a Node.js Backend in the Cloud for Android AppsBuilding a Node.js Backend in the Cloud for Android Apps
Building a Node.js Backend in the Cloud for Android Apps
Nick Landry
 
Microsoft Speech Technologies for Developers
Microsoft Speech Technologies for DevelopersMicrosoft Speech Technologies for Developers
Microsoft Speech Technologies for Developers
Nick Landry
 

What's hot (20)

Building a Cross-Platform Mobile App Backend in the Cloud with Node.js
Building a Cross-Platform Mobile App Backend in the Cloud with Node.jsBuilding a Cross-Platform Mobile App Backend in the Cloud with Node.js
Building a Cross-Platform Mobile App Backend in the Cloud with Node.js
 
Hitchhicker's Guide to Using Xamarin Forms with RESTful Services
Hitchhicker's Guide to Using Xamarin Forms with RESTful ServicesHitchhicker's Guide to Using Xamarin Forms with RESTful Services
Hitchhicker's Guide to Using Xamarin Forms with RESTful Services
 
Smaller Not Taller: Defeating the mobile application architecture giant
Smaller Not Taller: Defeating the mobile application architecture giantSmaller Not Taller: Defeating the mobile application architecture giant
Smaller Not Taller: Defeating the mobile application architecture giant
 
Intro to Building Mobile Apps with Xamarin
Intro to Building Mobile Apps with XamarinIntro to Building Mobile Apps with Xamarin
Intro to Building Mobile Apps with Xamarin
 
Xamarin.Forms
Xamarin.FormsXamarin.Forms
Xamarin.Forms
 
Cloud-enabling the Next Generation of Mobile Apps
Cloud-enabling the Next Generation of Mobile AppsCloud-enabling the Next Generation of Mobile Apps
Cloud-enabling the Next Generation of Mobile Apps
 
Enterprise-grade mobile barcode scanning with Scandit and Xamarin
Enterprise-grade mobile barcode scanning with Scandit and XamarinEnterprise-grade mobile barcode scanning with Scandit and Xamarin
Enterprise-grade mobile barcode scanning with Scandit and Xamarin
 
Desktop Developer’s Guide to Mobile with Visual Studio Tools for Xamarin
Desktop Developer’s Guide to Mobile with Visual Studio Tools for XamarinDesktop Developer’s Guide to Mobile with Visual Studio Tools for Xamarin
Desktop Developer’s Guide to Mobile with Visual Studio Tools for Xamarin
 
Azure Community Conference - Image Recognition in WhatsApp chatbot with Azure...
Azure Community Conference - Image Recognition in WhatsApp chatbot with Azure...Azure Community Conference - Image Recognition in WhatsApp chatbot with Azure...
Azure Community Conference - Image Recognition in WhatsApp chatbot with Azure...
 
Xamarin ile Cross Platform Development
Xamarin ile Cross Platform DevelopmentXamarin ile Cross Platform Development
Xamarin ile Cross Platform Development
 
WP7 Platform Architecture
WP7 Platform ArchitectureWP7 Platform Architecture
WP7 Platform Architecture
 
NET Conf Bhubaneswar - Migrating your Xamarin.Forms app to .NET MAUI.pptx
NET Conf Bhubaneswar - Migrating your Xamarin.Forms app to .NET MAUI.pptxNET Conf Bhubaneswar - Migrating your Xamarin.Forms app to .NET MAUI.pptx
NET Conf Bhubaneswar - Migrating your Xamarin.Forms app to .NET MAUI.pptx
 
Xamarin microsoft graph
Xamarin microsoft graphXamarin microsoft graph
Xamarin microsoft graph
 
Designing cross-platform User Interface with native performance using Xamarin...
Designing cross-platform User Interface with native performance using Xamarin...Designing cross-platform User Interface with native performance using Xamarin...
Designing cross-platform User Interface with native performance using Xamarin...
 
From MVC to Xamarin
From MVC to XamarinFrom MVC to Xamarin
From MVC to Xamarin
 
Mobile Cross-Platform App Development in C# with Xamarin
Mobile Cross-Platform App Development in C# with XamarinMobile Cross-Platform App Development in C# with Xamarin
Mobile Cross-Platform App Development in C# with Xamarin
 
Building hybrid apps with Xamarin, Ryan Paul
Building hybrid apps with Xamarin, Ryan PaulBuilding hybrid apps with Xamarin, Ryan Paul
Building hybrid apps with Xamarin, Ryan Paul
 
Blank Slate Css Meetup
Blank Slate Css MeetupBlank Slate Css Meetup
Blank Slate Css Meetup
 
Building a Node.js Backend in the Cloud for Android Apps
Building a Node.js Backend in the Cloud for Android AppsBuilding a Node.js Backend in the Cloud for Android Apps
Building a Node.js Backend in the Cloud for Android Apps
 
Microsoft Speech Technologies for Developers
Microsoft Speech Technologies for DevelopersMicrosoft Speech Technologies for Developers
Microsoft Speech Technologies for Developers
 

Similar to SharePoint Mobile App Development with Xmarin

Customize Your Enterprise Mobile Salesforce.com Integrations with Red Hat
Customize Your Enterprise Mobile Salesforce.com Integrations with Red HatCustomize Your Enterprise Mobile Salesforce.com Integrations with Red Hat
Customize Your Enterprise Mobile Salesforce.com Integrations with Red Hat
Maggie Hu
 
Kony Development Cloud
Kony Development CloudKony Development Cloud
Kony Development CloudDipesh Mukerji
 
SharePoint 2013 App Provisioning Models
SharePoint 2013 App Provisioning ModelsSharePoint 2013 App Provisioning Models
SharePoint 2013 App Provisioning Models
Shailen Sukul
 
Soa architect summit mobile 2013_mar [compatibility mode]
Soa architect summit mobile 2013_mar [compatibility mode]Soa architect summit mobile 2013_mar [compatibility mode]
Soa architect summit mobile 2013_mar [compatibility mode]
Sreeni Pamidala
 
Creating HTML5 Applications with jQuery Mobile, Ruby and Database.com
Creating HTML5 Applications with jQuery Mobile, Ruby and Database.comCreating HTML5 Applications with jQuery Mobile, Ruby and Database.com
Creating HTML5 Applications with jQuery Mobile, Ruby and Database.com
Jeff Douglas
 
SPS Toronto 2016 - What is microsoft PowerApps
SPS Toronto 2016 - What is microsoft PowerAppsSPS Toronto 2016 - What is microsoft PowerApps
SPS Toronto 2016 - What is microsoft PowerApps
Nicolas Georgeault
 
Azure Services Platform_Partner_Briefing
Azure Services Platform_Partner_BriefingAzure Services Platform_Partner_Briefing
Azure Services Platform_Partner_Briefing
Wes Yanaga
 
Powering your Apps with Cloud Services
Powering your Apps with Cloud ServicesPowering your Apps with Cloud Services
Powering your Apps with Cloud Services
Xpand IT
 
Akshay_Paliwal_Lead_Developer
Akshay_Paliwal_Lead_DeveloperAkshay_Paliwal_Lead_Developer
Akshay_Paliwal_Lead_Developerakshaypaliwal23
 
Creating an MVP with Oracle
Creating an MVP with OracleCreating an MVP with Oracle
Creating an MVP with Oracle
Franco Ucci
 
Do Try This at Home! Extend IBM Connections using IBM Worklight
Do Try This at Home! Extend IBM Connections using IBM WorklightDo Try This at Home! Extend IBM Connections using IBM Worklight
Do Try This at Home! Extend IBM Connections using IBM Worklight
Prolifics
 
Mobile app development using PhoneGap - A comprehensive walkthrough - Touch T...
Mobile app development using PhoneGap - A comprehensive walkthrough - Touch T...Mobile app development using PhoneGap - A comprehensive walkthrough - Touch T...
Mobile app development using PhoneGap - A comprehensive walkthrough - Touch T...
RIA RUI Society
 
DevOps on Microsoft Platform
DevOps on Microsoft PlatformDevOps on Microsoft Platform
DevOps on Microsoft Platform
Osman Seckin Karabas
 
Syllabus for Technical courses
Syllabus for Technical coursesSyllabus for Technical courses
Syllabus for Technical coursesMontek1Learning
 
Mike Taulty MIX10 Silverlight Frameworks and Patterns
Mike Taulty MIX10 Silverlight Frameworks and PatternsMike Taulty MIX10 Silverlight Frameworks and Patterns
Mike Taulty MIX10 Silverlight Frameworks and Patterns
ukdpe
 
Develop iOS and Android apps with SharePoint/Office 365
Develop iOS and Android apps with SharePoint/Office 365Develop iOS and Android apps with SharePoint/Office 365
Develop iOS and Android apps with SharePoint/Office 365
Kashif Imran
 
DF19 South-East Florida Global Gathering
DF19 South-East Florida Global GatheringDF19 South-East Florida Global Gathering
DF19 South-East Florida Global Gathering
Luis E. Luciani ☁
 
Live Mesh Presentation Bruno Svc
Live Mesh Presentation Bruno SvcLive Mesh Presentation Bruno Svc
Live Mesh Presentation Bruno Svc
Wes Yanaga
 
App forum2015 London - RhoMobile Update
App forum2015 London - RhoMobile UpdateApp forum2015 London - RhoMobile Update
App forum2015 London - RhoMobile Update
robgalvinjr
 

Similar to SharePoint Mobile App Development with Xmarin (20)

Customize Your Enterprise Mobile Salesforce.com Integrations with Red Hat
Customize Your Enterprise Mobile Salesforce.com Integrations with Red HatCustomize Your Enterprise Mobile Salesforce.com Integrations with Red Hat
Customize Your Enterprise Mobile Salesforce.com Integrations with Red Hat
 
Kony Development Cloud
Kony Development CloudKony Development Cloud
Kony Development Cloud
 
SharePoint 2013 App Provisioning Models
SharePoint 2013 App Provisioning ModelsSharePoint 2013 App Provisioning Models
SharePoint 2013 App Provisioning Models
 
Soa architect summit mobile 2013_mar [compatibility mode]
Soa architect summit mobile 2013_mar [compatibility mode]Soa architect summit mobile 2013_mar [compatibility mode]
Soa architect summit mobile 2013_mar [compatibility mode]
 
Creating HTML5 Applications with jQuery Mobile, Ruby and Database.com
Creating HTML5 Applications with jQuery Mobile, Ruby and Database.comCreating HTML5 Applications with jQuery Mobile, Ruby and Database.com
Creating HTML5 Applications with jQuery Mobile, Ruby and Database.com
 
SPS Toronto 2016 - What is microsoft PowerApps
SPS Toronto 2016 - What is microsoft PowerAppsSPS Toronto 2016 - What is microsoft PowerApps
SPS Toronto 2016 - What is microsoft PowerApps
 
Azure Services Platform_Partner_Briefing
Azure Services Platform_Partner_BriefingAzure Services Platform_Partner_Briefing
Azure Services Platform_Partner_Briefing
 
Powering your Apps with Cloud Services
Powering your Apps with Cloud ServicesPowering your Apps with Cloud Services
Powering your Apps with Cloud Services
 
Akshay_Paliwal_Lead_Developer
Akshay_Paliwal_Lead_DeveloperAkshay_Paliwal_Lead_Developer
Akshay_Paliwal_Lead_Developer
 
Creating an MVP with Oracle
Creating an MVP with OracleCreating an MVP with Oracle
Creating an MVP with Oracle
 
Do Try This at Home! Extend IBM Connections using IBM Worklight
Do Try This at Home! Extend IBM Connections using IBM WorklightDo Try This at Home! Extend IBM Connections using IBM Worklight
Do Try This at Home! Extend IBM Connections using IBM Worklight
 
Mobile app development using PhoneGap - A comprehensive walkthrough - Touch T...
Mobile app development using PhoneGap - A comprehensive walkthrough - Touch T...Mobile app development using PhoneGap - A comprehensive walkthrough - Touch T...
Mobile app development using PhoneGap - A comprehensive walkthrough - Touch T...
 
DevOps on Microsoft Platform
DevOps on Microsoft PlatformDevOps on Microsoft Platform
DevOps on Microsoft Platform
 
Prakash_Ganapathy
Prakash_GanapathyPrakash_Ganapathy
Prakash_Ganapathy
 
Syllabus for Technical courses
Syllabus for Technical coursesSyllabus for Technical courses
Syllabus for Technical courses
 
Mike Taulty MIX10 Silverlight Frameworks and Patterns
Mike Taulty MIX10 Silverlight Frameworks and PatternsMike Taulty MIX10 Silverlight Frameworks and Patterns
Mike Taulty MIX10 Silverlight Frameworks and Patterns
 
Develop iOS and Android apps with SharePoint/Office 365
Develop iOS and Android apps with SharePoint/Office 365Develop iOS and Android apps with SharePoint/Office 365
Develop iOS and Android apps with SharePoint/Office 365
 
DF19 South-East Florida Global Gathering
DF19 South-East Florida Global GatheringDF19 South-East Florida Global Gathering
DF19 South-East Florida Global Gathering
 
Live Mesh Presentation Bruno Svc
Live Mesh Presentation Bruno SvcLive Mesh Presentation Bruno Svc
Live Mesh Presentation Bruno Svc
 
App forum2015 London - RhoMobile Update
App forum2015 London - RhoMobile UpdateApp forum2015 London - RhoMobile Update
App forum2015 London - RhoMobile Update
 

Recently uploaded

Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Product School
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi
Fwdays
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
Abida Shariff
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 

Recently uploaded (20)

Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 

SharePoint Mobile App Development with Xmarin

  • 2.  Introduction  About BlumShapiro  Quick Update on Cross Platform Mobile Dev Landscape  Intro into Xamarin  Demo C# IPhone App SharePoint/Office 365  Demo Shared UI Code  Questions
  • 3.  SharePoint Developer  Mobile App Developer  Certifications  MCSD Web Applications  MCPD SharePoint Development,  MSCE and Mobile (In Progress)  Hobbies  Cross Fit  Chess Player  Contact  hluciano@blumshapiro.com  @hluciano  Hlucianojr.wordpress.com  Demo Github  https://github.com/hlucianojr/xsps ervice.demo
  • 4.  The largest regional, accounting, tax and business consulting firm based in New England  Established in 1980 as a small accounting firm in West Hartford  350 professionals in Connecticut, Massachusetts and Rhode Island  Vision to be the dominant professional services firm based in New England ▪ Organic growth with a large emphasis on consulting ▪ Strategic acquisition of firms sharing our values ▪ Best Place to Work ▪ Commitment to Community, diversity and stewardship  With this strategy and geographic focus we are able to attract outstanding talent with shared values. 4
  • 5.
  • 7.
  • 8.  Telerik Platform  Pure HTML5 Hybrid Apps for ▪ iOS ▪ Android ▪ Windows Phone 8  Multi-Device Hybrid Apps  Integration into Visual Studio  Build Apps for ▪ iOS ▪ Android ▪ Windows(Some Devices)
  • 9.
  • 10. Tools  Visual Studio 2010, 2012, 2013  SharePoint Designer Programing Languages  Asp.Net (C#)  C#  JavaScript
  • 11.
  • 12. Demo
  • 13. Xamarin forVisual Studio Xamarin Studio (Mac and,PC) Component Store Xamarin Form
  • 14.
  • 15.
  • 18. Xamarin iOS Project Structure Storyboard File Controller App Delegate
  • 19.
  • 20. Demo
  • 21.  Model View Controller Pattern  Model: POCO, DTO, object hold application data.  View: Visual presentation of the model.  Controller: mediator between model and view.  iOS MVC Classes  UIViewController: the controller access to the Model/Models  UIView: the view gets display to the user  DataSource: collection of Models or Model ViewModel Controller
  • 22.  40+ Pages, Layouts, and Controls  Build from code behind or XAML  Two-way Data Binding  Navigation  Animation API  Dependency Service  Messaging Center
  • 23.
  • 24.
  • 25.  Async for .Net Framework  Microsoft BCL Portability Pack 1.1.9
  • 26.
  • 27. Check out: https://github.com/jamesmontemagno/Xamarin.Plugins  Battery Status: Get battery level, how it is getting charge, and events.  Connectivity: See if device is connected to the internet and through what connection type.  Contacts: Currently in Alpha  Device Information: Base information about each device such as OS and version.  Extended Maps: Launch navigation directions in default map app on each OS  Geolocator: Currently in Alpha  Media: Take or pick photos/videos  Settings: Fully cross platform settings for your application.  Text To Speech: Turn your text into a vocal symphony on mobile devices.  Vibrate: Make that device rumble!
  • 28.
  • 29.
  • 30.  Determine your app capabilities  Mail  Calendar  Contacts  Files  Sites  Determine Resource Id and Endpoint Uri of Office 365 Service API.
  • 31.  What is Model View ViewModel  ViewModel: describes integration with View via properties, commands and observable objects  View: User interface, XAML markup or Code  Model: refers to entities, objects, data sources.  Benefits  Loosely coupled architecture  Testable code.  Requirement  Observable Collection  Command Pattern  Binding ViewModel View Model
  • 32. Stack Absolute Relative Grid ContentView ScrollView Frame
  • 34.
  • 35. ActivityIndicator BoxView Button DatePicker Editor Entry Image Label ListView Map OpenGLView Picker ProgressBar SearchBar Slider Stepper TableView TimePicker WebView EntryCell ImageCell SwitchCell TextCell ViewCell
  • 36. Demo
  • 37.
  • 38. Xamarin – Your Complete Mobile Solution DESIGN – DEVELOP - INTEGRATE TEST MONITOR LEARN
  • 39.
  • 40.  Integrated with your App  Real-time Monitoring  See crashes and issues in on spot  Captures Usages  Others
  • 41. • MacBook Pro – CPU: 2.2 GHz Intel Core i7 – Memory: 16GB • Installed Software – Maverick OS X 10.9.4 – Xamarin Studio 5.2(Build 386) – Parallel Desktop • Dell Latitude – CPU: 2.70 GHz Intel Core i7 – Memory: 8GB • Installed Software – Windows 7 PS1 – Visual Studio 2013 – Xamarin Studio 5.2(Build 386)
  • 42.  Compilation to Native machine code  App Certificates  Code-Signing  App Deployment
  • 43. Wi-Fi (Static IP) Accessing SharePoint via Wi-Fi Ethernet (Static IP) Development Network Setup AccessingXamarin Host
  • 44.
  • 45.  SharePoint on Android Wear, Glass?  SharePoint on Amazon Fire?  SharePoint on Yosemite?  Other?
  • 46.
  • 48.

Editor's Notes

  1. Intro I am Hector Luciano jr, a consultant manager at BlumShapiro.(Continue with self intro) Xamarin lets you build iOS, Android and Mac apps in C#, rather than Object-C or Java. Using familiar tools you can take advantage of your favorite things about C#. Linq support Event handling, delegates and event Asyc support. For develping for new mobile and desktop platforms. Today I will get you started with building Mobile Apps against SharePoint on premesis or SharePoint Online in Visual Studio 2013 using C#. To accomplish this goal we will be using a PCL library called XSPService, build by me. The XSPService PCL is a component build to work across platforms that provides a turn key solution for access SharePoint for mobile apps. With XSPService Component it is fast and easy to connect to SharePoint access libraries, download, upload documents, access feeds and get push notifications. First we are going to start with a single view applications, in this presentation we will be just covering Xamarin for iOS, however you can use it for building Android apps.
  2. Welcome This is my first presentation, in this group and ever, so give me some love… and I promise I already pray to the demo gods and go my fingers cross. I am Hector Luciano Jr, Consulting Manager in BlumShapiro located right in Conneticut as well as our Boston office in Quincy and others. Quick Info on BlumShapiro: {INSERT BLUMSHAPRIO} About me, I am really a developer at heart, I been developing for over 13 years now, I am MSCD certify and working on my MSCE certification. I see my career goal as SharePoint and Mobile specifically native Apps. I have been building Apps for over 3 years specifically on iOS Iphone using Object-C as the main programing language. Now I will not be talking about OJbect-C so no worries. I am currently learning Swift just because it is good to know the main iOS programing languge Building Apps was more of a hobby/second job, I worked on a Metal Health App called MyOmBody which is now 4 apps all running my original code, currently I am working on a new App for Smart Home devices using the new iOS Home framework. That app is build on Swift so I wont be demoning to day but if you want to see it I will share later after the presentation. Now the main reason why I pick Boston SharePoint User group is because SharePoint development is my main Job and I actually enjoy working on SharePoint……., well when I am not pulling my hear out. Last year I finally decided to combine the two and that’s what I am here to day. I am going to share with you apps that I have build against SharePoint and show you how to get started. Now after today you are going to leave with a few sample apps that can get you started and hopefully you can see the business value out of them. (OPTIONAL) Today I will be talking all about building SharePoint Mobile Apps using tools you know and love for the last decade. Basically this presentation is for the normal SharePoint developer whom works right on Visual Studio is familiar with Asp.Net C#. (PERSONAL COMMENTS)(OPTINAL) First the old generation doesn't care for this mobile trends they done there time and if is not broken don't fix it. However the are joining Facebook and inviting me to play word with friends.  WTF.  --the hash tag generation:  this generation communicates and share information much faster, via app notification twitter, Snapchat, LinkedIn, and others.  They don't use email it a resembles to letters on the mail. Just simple noise and junk mail.  {Insert Notification pic} --The D generation: Email, Excel, Word, SMS txt, and blogs was the communication and the demanded it. This generation has there IPhone wake them up to go exercise and the while eating breakfast they are reading the news on there IPad. But when is time to get work done they open a laptop!!!! This is a fact of life. --The F generation: my prediction is going to be all about touch and voice over commands. And If I can not touch it I don't want it.  If you don't make me happy I simply don't come back and I find alternative. They are not going to used email because that not how they engage with there friends they will use Social media, voice messages, Pinksters, that how we love today. Is all about simple and specific apps that allow us to get together.  {insert bank of future} check out bank of Catastrophic rescue team used mobile and SharePoint to deliver relief.  Mobile and Social are growing with the maturing of mobile technology and tooling. It no longer take a genius to build a mobile app and I will show you
  3. This is how we help, unlock your potential
  4. Xamarin Studio Xamarin Studio provides ability to build mobile apps using C# as the main programing language. It can build apps for iOS, Android, Kendle Fire and more. Apps are built with standard, native user interface controls. Apps not only look the way the end user expects, they behave that way too. Xamarin Studio provides integration with Visual Studio and a IDE for Mac and Windows IDE for Android development. Familiar language and namespace base on .Net framework which we all have come to love. Xamarin Company also provides on cloud testing for almost all Android devices and are working on iOS on cloud testing as well. Build-in iOS designer fully integrated with Visual Studio. This means that you don’t need to pen Xcode to build iOS user interfaces. Appcelerator Titanium Appcelerator Titanium offers you two complementary pieces of the puzzle. Titanium is a JavaScript development tool filled with widgets you can string together to build apps that run natively. It provides the code that allows your app to run in iOS, Android, Windows, BlackBerry, and HTML5. That's a big collection from one basic piece of code. The company also offers a set of cloud applications that handle the back-end work for your app. Whether it's storing information or sending email, the Appcelerator cloud handles it. There are also specialized tables for geographic information, photographs, and what the social media world calls "friends." The cross-platform Corona SDK has all the usual features for creating an app that runs on iOS, Android, Kindle Fire, and Nook, along with one indispensable addition: a physics engine. Corona apps can take objects and simulate them bouncing around a real world. Writing your own Angry Birds-like game is much easier. The company also offers a cloud for storing information from your game. Access is simple from the app code. You'll find the usual repositories for bits as well as custom formats for game builders. Your code can create leaderboards, track achievements, offer chat sessions, and integrate with social networks, all through the Corona cloud. PhoneGap, which won great acclaim at Web 2.0 Expo San Francisco’s 2009 Launch Pad event, is an FOSS environment that allows developers to create apps for Android, Palm, Symbian, BlackBerry, iPhone, iTouch and iPad devices. This platform uses standard web development languages such as HTML and JavaScript. Phone Gap PhoneGap allows the developer to work with device hardware features such as accelerometer, GPS/location, camera, sound and much more. PhoneGap additionally offers an Adobe AIR app and also online training courses to help the developer access native API’s and build mobile apps on its own platform. RhoMobile offers Rhodes, which is an open-source framework based on Ruby. This permits the developer to create native apps, spanning over a stunning range of OS’ and smartphones. The OS’ include Android, Windows Mobile, Symbian, iPhone and RIM, which pretty much covers it all. The framework supplied by RhoMobile is such that you only need to code once. This code can be used to build apps for most of the major smartphones. Native apps are great for working with available hardware, so your job gets done with ease, speed and accuracy. RhoMobile RhoMobile also offers developers RhoHub, which is a hosted development environment, and RhoSync, which can be employed as a standalone server to keep all the app data current on the users’ handhelds.
  5. When you think of Xamarin you need to think of it as multiple products one of those product is the Xamarin Platform. This is where you be creating your iOS, Android, Mac applications, Windows app all in Visual Studio, with everything you love about .Net. So what are Native Mobile Apps, native apps, native user interface, using the each platform native UI look and feel. -- Each device has a unique API which need to be available. -- Also each application needs perform. How are you going to Architect your Apps, one approach you are buliding each app on each Applications. Build multiple source code, different platform language, and managing the project deficult, insead you want right onces and use everywhere. Some Approach is to use what is called Lowest Common Denomiator of running using Black Box approach like Javascript Framework, basically you have to write using there approach. Xamaring approach is building against the .Net framework using all the api which we love and are comfortalbe with. Sharing code using a C# backend across Android, iOS and Windows. Everything is in C#, eventhough you have different Xamarin IDE for Androin and iOS. When you think of what a SharePoint C# developer already knows, you know the .Net framework System.Net, System, System.IO , System.Linq, System.XML. Would it be great if you just build you agains
  6. Intro I am Hector Luciano jr, a consultant manager at BlumShapiro.(Continue with self intro) Xamarin lets you build iOS, Android and Mac apps in C#, rather than Object-C or Java. Using familiar tools you can take advantage of your favorite things about C#. Linq support Event handling, delegates and event Asyc support. For develping for new mobile and desktop platforms. Today I will get you started with building Mobile Apps against SharePoint on premesis or SharePoint Online in Visual Studio 2013 using C#. To accomplish this goal we will be using a PCL library called XSPService, build by me. The XSPService PCL is a component build to work across platforms that provides a turn key solution for access SharePoint for mobile apps. With XSPService Component it is fast and easy to connect to SharePoint access libraries, download, upload documents, access feeds and get push notifications. First we are going to start with a single view applications, in this presentation we will be just covering Xamarin for iOS, however you can use it for building Android apps. Demo Steps. Note: If you have never develop with Xamarin it is worth for you to first check out Xamarin.com to learn more about Xamarin as well as to download the tools. Now I have everything setup, before you begin you will need Apple XCode IDE, and Xamarin tools. You can download the XCode IDE from Apple Developer.com and becoming a Apple developer. Next lets open Xamarin Studio in Visual Studio. 1. I am going to create a single view iOS project 1.1 Quick walkthrougg. 1.1.1 The Main.cs file is the main point of the application and it references the AppDelage class that where we can implement life cycle methods for our app. The App properties is where you can see the reference to the MainStoryboard file. This is where you will find all the UI controls, View and more. (navigate to project properties and select (iOS Application tab) talk about this screen. 1.1.1.1 here you can see the Main Interface storybord, you can see Supported Device Orientation and more. 2. Lets edit the StoryBoard File and see how to build a native iOS app. 2.1 In this designer I can easily build application ui, 2.1.1. Notice the following. -You can view the storyboard by device type( click on the left top) -YOu can select the iOS version. -And notice all the controls available for you. -So lets add a few buttons and a label. -Notice that when I drag the button, the IDE is helping me align the controls(super cool) I can also edit the buttons properties which would be usefull, If I already know exactly where I want the button to be. -Name it btnRISPUG -Talk about buttons event. Which event you think I should used? -Notice you can always just double click on the button, similar to what you are usetoo doing. " this.lblhello.Text = "Hello Xamarin from RI SharePoint User Group";" -Now lets add a image view control. http://photos4.meetupstatic.com/photos/event/d/2/9/8/highres_115253912.jpeg static UIImage FromUrl(string uri) { using (var url = new NSUrl(uri)) using (var data = NSData.FromUrl(url)) return UIImage.LoadFromData(data); } -Now lets add a web view(Why because I found it, that I constainly need to setup a webview to navigate to content on some site) -For example navigate to a PDF on SharePoint, Word, Some data entery web entery form etc.. http://www.meetup.com/RISPUG/ partial void UIButton6_TouchUpInside(UIButton sender) { this.uwvMoreInfo.LoadRequest(new NSUrlRequest(new NSUrl("http://www.meetup.com/RISPUG/"))); } -Lets talk about StoryBoard -Add a new storyboard -What is a storyboard is a visual representation of all screens in your application, contains ui elements, controls and navigaiton. -Add a Navigation Controller -Add two buttons red and blue -Show how to add additional view controllers -show how to navigate from one view to another. Show how a modal window workds. partial void UIButton312_TouchUpInside(UIButton sender) { this.DismissModalViewController(true); } --Show how to create a ViewController on the fly. --Add a property for the URL and a web url --Notice that I manually lay them out, and off-course everyone here can already realize what's is going to happen when my App is is open on a different screen iOS device. For now it is ok, and later I will show you how we can handle different screen size..
  7. Xamarin Products (TAKE A DEEP BREATH) Includes Xamarin Extension for Visual Studio which provides direct integration with Visual Studio. (TAKE A DEEP BREATH) Prior to the Xamarin Extension there was Xamarin Studio for Mac and PC which allows you to code on MacBook. (TAKE A DEEP BREATH) Also Xamarin include Component Store, where you can purchess third party products, or download SDK to lots of free frameworks like Azure Mobile (TAKE A DEEP BREATH) Xamarin Forms component allows you to build Share UI Code across mobile devices.
  8. How Xamarin.iOS compiles Xamarin.iOS compiles c# source code against a special subset of the mono framework. This cut down version of the mono framework includes additional libraries which allow access to iOS platform specific features. The Xamarin.iOS compiler, smsc, takes source code and compiles it into an intermediate language, ECMA CIL (common intermediate language), however it does not produce ECMA ABI compatible binaries unlike the normal mono compiler, gmcs or dmsc. This means any 3rd party .Net libraries you want to include in your application will need to be recompiled against the Xamarin.iOS subset of the mono framework using smsc. Xamarin.iOS application Compiling Once a Xamarin.iOS application has been compiled into CIL it needs to be compiled again into native machine code that can run on an iOS device. This process is carried out by the SDK tool ‘mtouch’, the result of which is an application bundle that can be deployed to either the iOS simulator or an actual iOS device, such as an iPhone or iPad. Due to restrictions placed by Apple, the iOS kernel will not allow programs to generate code at runtime. This restriction has severe implications for software systems that run inside a virtual machine using just-in-time compilation. Just-in-time compilation takes the intermediate code, for example mono CIL and compiles it at runtime into machine code. This machine code is compatible for the device it is running on at the time of execution. To work around this restriction the mtouch tool compiles the CIL ahead of time. A process that the mono team describe as AOT, ahead of time compilation. What is smsc
  9. How Xamarin.iOS compiles Xamarin.iOS compiles c# source code against a special subset of the mono framework. This cut down version of the mono framework includes additional libraries which allow access to iOS platform specific features. The Xamarin.iOS compiler, smsc, takes source code and compiles it into an intermediate language, ECMA CIL (common intermediate language), however it does not produce ECMA ABI compatible binaries unlike the normal mono compiler, gmcs or dmsc. This means any 3rd party .Net libraries you want to include in your application will need to be recompiled against the Xamarin.iOS subset of the mono framework using smsc. Xamarin.iOS application Compiling Once a Xamarin.iOS application has been compiled into CIL it needs to be compiled again into native machine code that can run on an iOS device. This process is carried out by the SDK tool ‘mtouch’, the result of which is an application bundle that can be deployed to either the iOS simulator or an actual iOS device, such as an iPhone or iPad. Due to restrictions placed by Apple, the iOS kernel will not allow programs to generate code at runtime. This restriction has severe implications for software systems that run inside a virtual machine using just-in-time compilation. Just-in-time compilation takes the intermediate code, for example mono CIL and compiles it at runtime into machine code. This machine code is compatible for the device it is running on at the time of execution. To work around this restriction the mtouch tool compiles the CIL ahead of time. A process that the mono team describe as AOT, ahead of time compilation. What is smsc? is a mono compiler for .net What is mtouch?
  10. Toolbox Panel On the left-hand side of the window, the toolbox panel displays all of the available user interface controls. For example button, label Page Control and Controllers and Object like Navigation Controller. Property Panel Immediately below the toolbox is the properties panel, which displays all of the configurable attributes of the selected control
  11. Storyboard File Is where we design our UI, UI flow, Controls. Controller Is where we have our code behind, handle events, etc.. App Delegate This is where we setup global events, hooks into the devices events, and more.
  12. Model View Controller (MVC) is one of the building blocks of Cocoa and is undoubtedly the most-used design pattern of all. It classifies objects according to their general role in your application and encourages clean separation of code based on role. The three roles are: Model: The object that holds your application data and defines how to manipulate it. For example, in your application the Model is your Album class. View: The objects that are in charge of the visual representation of the Model and the controls the user can interact with; basically, all the UIViews and their subclasses. In your application the View is represented by your AlbumView class. Controller: The controller is the mediator that coordinates all the work. It accesses the data from the model and displays it with the views, listens to events and manipulates the data as necessary. Can you guess which class is your controller? That’s right: ViewController.
  13. Basically your Mobile Application will be using the Office 365 SDK via the PCL packages to access Azure Active Directory Single Sign-on (Oauth 2.0) to access Office 365, and any resource which you the Azure AD is configure. This is great for a few reason, you and I don’t have to write all the Authentication code between Azure AD and SharePoint, we just need to master the SDK and have basic konwledged off Azure AD. However you need to have a solid understanding of Oauth and more..
  14. Quick look at what packages are require to use the Office 365 SDK for iOS. Notice that these packages are mostly prerelease.
  15. The View The View layer is the user interface of your application which mainly consisted of layout and user interface controls written in XAML markup. The View layer often includes resources that required in the user interface, such as data templates and styles. The Model The Model layer refers to the entities, business objects, data source, proxy objects and other repositories available in your application. The Model should be designed in a way that it does not know the existence of the View or the ViewModel. This means that the model should not access, reference or interact directly with the ViewModel or the View. The ViewModel The ViewModel layer describes the user interaction logic of the view by exposing the properties such as commands, observable commands and selection objects that can be bound from the view. In most cases, the ViewModel encapsulates the Model and expose it as properties that can be referenced from the View. The ViewModel also contains methods that perform validation and certain business logic which is invoked by the command initiated from the View. Note that the ViewModel should be designed in a way that it does not know the existence of the View. This means that the ViewModel should not access, reference or interact directly with the View. The benefits, examples and walkthroughs of using MVVM pattern with the ClientUI framework and controls are explained later in this topic. Why Use MVVM? In short, the Model-View-ViewModel pattern is a simple and effective set of guidelines for designing and implementing a Silverlight/WPF application. It allows you to create a strong separation between data, behavior, and presentation, making it easier to control the software development process primarily on the user interface engineering. The MVVM pattern introduces a number of advantages over the classic ViewModel pattern, such as: Loosely coupled architecture. The MVVM pattern promotes a design pattern that emphasizes the separation of concerns between view, user interaction logic, behaviors and model. Applications built with such loosely coupled architecture often result in rock-solid stability with less issues. Maintainable and extensible code. With MVVM pattern, your code is more maintainable and easy to extend. This is made possible because your project is generally separated into layers thus enables you to enhance specific parts without affecting the others. Testable code. The MVVM pattern allows your code to be consistently tested through unit testing. It is possible to unit test only certain functions in the layers, thanks to the great separation concept introduced by MVVM. Manageable development process. With the UI (View) separated from the user interaction logic, designers can focus on the user interface and experience aspects of the application, while developers can focus on the model, entities and business logic in a parallel work stream.
  16. https://testcloud.xamarin.com/devices
  17. https://testcloud.xamarin.com/devices
  18. This is my current development environment which is a MacBook Pro as the build machine hosting Xamarin Studio used for generating iOS Apps. Also the Mac is running Parallel as the VM software running Windows 2012 with SharePoint 2013. On the right is a Dell laptop running Window 7 with Visual Studio 2013 with Xamarin Studio IDE integration. It is important to know that my MacBook memory is consistency max out during the SharePoint Mobile App development. So it is essentially just a build machine, however during normal App development one Mac can support other windows IDE development. Note: the version of Xamarin Studio is important that both machine have the same version in-order the IDE integration works. Note: Besides the Software licensing need to run SharePoint(Which this user group is well aware of) below are my challeges to setting my development environment. Development Challenges Mac as the Build Machine Hardware Need lots of memory to run SharePoint 2013 Server Good CPU Disks Space Latest software Parallel to run Windows 2012 Server Network setup requirement (The network device is not shared we need a IP address for SharePoint and one for Xamarin iOS Host) Windows 2012 server on Network Card Mac OS on Wife Card
  19. Xamarin iOS for Visual Studio Xamarin iOS for Visual Studio accomplishes an amazing feat: it lets you create, build and debug iOS applications on a Windows computer using the Visual Studio IDE. It cannot do this alone, however - iOS applications cannot be created without Apple’s compiler, and they cannot be deployed without Apple’s certificates and code-signing tools. This means that your Xamarin iOS for Visual Studio installation requires a connection to a networked Mac OS-X computer to perform these tasks for you. Once configured, Xamarin’s tools will make the process as seamless as possible. Starting with Xamarin.iOS 4.0, there are two code generation backends to Xamarin.iOS. The regular Mono code generation engine and one based on the LLVM Optimizing Compiler. Each engine has its pros and cons. Typically, during the development process, you will likely use the Mono code generation engine as it will let you iterate quickly. For release builds and AppStore deployment, you will want to switch to the LLVM code generation engine.
  20. I want to share with my Mac SharePoint setup and Xamarin Host, it can get messing setting up because Xamarin IDE integration requires a connection to the Mac Xamarin Hosted services including connection to the SharePoint environment hosted in VM software. What worked for me is a dedicated IP for both the Wi-Fi Note: it is just to illustrate the network setup you still need the wi-fi wireless router.