SlideShare a Scribd company logo
itcampro@ itcamp13# Premium conference on Microsoft technologies
HTML5 apps with LightSwitch
Melania Danciu, Solution Architect,
http://mela.ro
LightSwitch
itcampro@ itcamp13# Premium conference on Microsoft technologies
Development &
MobileHuge thanks to our sponsors!
itcampro@ itcamp13# Premium conference on Microsoft technologies
Development &
MobileMela
Engineer  - Polytechnic University of Timisora
Software developer
Solution Architect at Haufe-Lexware
Speaker
@melaniadanciu
http://mela.ro
itcampro@ itcamp13# Premium conference on Microsoft technologies
Development &
Mobilehttp://mela.ro
itcampro@ itcamp13# Premium conference on Microsoft technologies
Development &
Mobile
“The easiest way to create modern line of
business applications for the enterprise.”
Jay Schmelzer
LightSwitch
itcampro@ itcamp13# Premium conference on Microsoft technologies
Development &
MobileAgenda Today
1. Business
Application
• Desktop, Web
and Mobile
2. Tools we
need
• LightSwitch
3. Build
• Server
• Desktop/Web
• Mobile
4. Deployment
• Azure/IIS
itcampro@ itcamp13# Premium conference on Microsoft technologies
No code at all and have access from every were
commons.wikimedia.org
itcampro@ itcamp13# Premium conference on Microsoft technologies
MOBILE APPS FACTS
Global and Europe
itcampro@ itcamp13# Premium conference on Microsoft technologies
Development &
MobileICT Facts and Figures
http://www.itu.int/en/ITU-D/Statistics/Documents/facts/ICTFactsFigures2013.pdf
itcampro@ itcamp13# Premium conference on Microsoft technologies
Development &
MobilecomScore - EU SmartPhones
http://www.comscoredatamine.com/2013/03/smartphones-reach-majority-in-all-eu5-countries/
itcampro@ itcamp13# Premium conference on Microsoft technologies
Development &
MobileBusiness App on Mobile
Data base
• Tables, Queries
Server
• Define contracts
• Has custom logic
Administration
• User Interface
• Validations
• Data binding
• Export to other
platforms
Mobile App
• User interface
• Validation
• Data binding
• Roles and rights
Deployments -
Azure
• Data Base
• Server
• Administration
• Mobile App
itcampro@ itcamp13# Premium conference on Microsoft technologies
LIGHTSWITCH
Tools we need…
itcampro@ itcamp13# Premium conference on Microsoft technologies
Development &
MobileLightSwitch
Has
important
tools
Does the
common
tasks for us
Makes us use
modern
technologies
Uses the
most used
architecture
patterns
Creates
Business
Applications
itcampro@ itcamp13# Premium conference on Microsoft technologies
WITH NO CODE…
And all of this
itcampro@ itcamp13# Premium conference on Microsoft technologies
Development &
MobileA little bit of wizardry…
itcampro@ itcamp13# Premium conference on Microsoft technologies
Development &
MobileLets Install it…
Visual Studio 2012 update 2
itcampro@ itcamp13# Premium conference on Microsoft technologies
Development &
MobileLight Switch
Desktop app
Office integration
Not so touch friendly
Get the data in
Mobile App
Made to be use on the go
Touch friendly
Consuming the date
itcampro@ itcamp13# Premium conference on Microsoft technologies
Development &
MobileWith LightSwitch HTML Client
http://msdn.microsoft.com/en-us/vstudio/htmlclient.aspx
itcampro@ itcamp13# Premium conference on Microsoft technologies
DECIDE WHAT YOU WANT TO
BUILD
After you have the tools…
itcampro@ itcamp13# Premium conference on Microsoft technologies
Development &
MobileConference App
Data Base
•Speakers
•Presentations
•Attendees
•User Management
Server
•Protect the app by
having roles and
rights and custom
filters based on
them
Desktop App
•Administer easy,
make reports, have
an overview
HTML Client
•Access every ware,
give access to
speakers and
attendees
Publish it to
Azure
•Make it available
itcampro@ itcamp13# Premium conference on Microsoft technologies
A LITTLE BIT MORE ABOUT IT
itcampro@ itcamp13# Premium conference on Microsoft technologies
Development &
MobileLightSwitch
“LightSwitch applications use the modern .NET stack of technologies, and
wrap them in an abstraction layer optimized for data management and
maintenance. LightSwitch makes it possible to build data-centric applications
quickly, through visual means.”
“With LightSwitch, you won’t be writing the same code repeatedly to provide data
access functionality or the user interface needed around it. You can write no code,
a little code, or a significant amount – and you can rest assured that it will
be high-value code, rather than mere ‘plumbing’. “
itcampro@ itcamp13# Premium conference on Microsoft technologies
Development &
MobileLanguages and tools
Languages
• C#
• VB
What we can use…
• Linq
• RIA Services
• Entity Framework
• Web API
• XAML
• HTML & Java Script
itcampro@ itcamp13# Premium conference on Microsoft technologies
What about HTML Client
A companion to Silverlight application
itcampro@ itcamp13# Premium conference on Microsoft technologies
Development &
MobileHTML Client - msdn
itcampro@ itcamp13# Premium conference on Microsoft technologies
Development &
MobileContoso Moving in C#
itcampro@ itcamp13# Premium conference on Microsoft technologies
Development &
Mobile
• Touch oriented
• Complementary to Silverlight App
• Consistent design experience
• Standards Based
• Predefined screens
• Custom UI with Js and CSS
• Debug with DOM Explorer
• Share Point Integration
• Have it in Office 365
• Running on Smart Phones and Tablets
• Have a Light and a Dark theme
HTML Client - Summary
itcampro@ itcamp13# Premium conference on Microsoft technologies
Development &
Mobile
• Simple self-service applications
– Paper on a clipboard
• Field operations
– Contoso apps – Moving Apps
• Interactive Content Catalog & Sales
– Exploratory UI
3 different types
itcampro@ itcamp13# Premium conference on Microsoft technologies
ARCHITECTURE
itcampro@ itcamp13# Premium conference on Microsoft technologies
Development &
MobileOver All Architecture - msdn
http://msdn.microsoft.com/en-us/vstudio/gg491708
itcampro@ itcamp13# Premium conference on Microsoft technologies
Development &
MobileOdata - http://www.odata.org/
OData is a a REST protocol based on existing internet standards including HTTP,
AtomPub, JSON, and hyper-media design patterns.
A main feature of REST APIs is the use of existing HTTP verbs against addressable
resources identified in the URI.
Conceptually, OData is a way of performing database-style CRUD using HTTP verbs
Create : POST
Read: GET
Update: PUT
Delete: DELETE
http://<your application url>/<Service name>.svc/<resource>
itcampro@ itcamp13# Premium conference on Microsoft technologies
Development &
MobileLightSwitch as a Data Source
http://msdn.microsoft.com/en-us/library/vstudio/hh973174.aspx
itcampro@ itcamp13# Premium conference on Microsoft technologies
Development &
MobileOdata - msdn
itcampro@ itcamp13# Premium conference on Microsoft technologies
Development &
MobileDeployment - msdn
http://msdn.microsoft.com/en-us/vstudio/gg491708
itcampro@ itcamp13# Premium conference on Microsoft technologies
LETS BUILD THE APP
We know what we want and we know with what tools
http://www.careerattraction.com
itcampro@ itcamp13# Premium conference on Microsoft technologies
Development &
MobileCreate a new Project
Having 2 choices
itcampro@ itcamp13# Premium conference on Microsoft technologies
Development &
MobileUpgrade your Project – If needed
itcampro@ itcamp13# Premium conference on Microsoft technologies
Development &
MobileA new structure
itcampro@ itcamp13# Premium conference on Microsoft technologies
Development &
MobileCreate Data Base
itcampro@ itcamp13# Premium conference on Microsoft technologies
Development &
MobileCreate Custom DB
itcampro@ itcamp13# Premium conference on Microsoft technologies
Development &
MobileCreate Custom DB
itcampro@ itcamp13# Premium conference on Microsoft technologies
In the old style way 
CREATE ADMINISTRATION
SCREENS
http://www.careerattraction.com
itcampro@ itcamp13# Premium conference on Microsoft technologies
Development &
MobileAdministration
itcampro@ itcamp13# Premium conference on Microsoft technologies
CREATE HTML CLIENT
itcampro@ itcamp13# Premium conference on Microsoft technologies
Development &
MobileAdd a new client
itcampro@ itcamp13# Premium conference on Microsoft technologies
Development &
MobileSet Client As Default
0 – 1 Silverlight Client
&
0 – 1 Mobile Client
itcampro@ itcamp13# Premium conference on Microsoft technologies
Development &
MobileAdd Screens
http://msdn.microsoft.com/library/jj674623.aspx
itcampro@ itcamp13# Premium conference on Microsoft technologies
Development &
MobileAccess it every were
itcampro@ itcamp13# Premium conference on Microsoft technologies
Development &
MobileAccess it from every device
about-google-android.blogspot.com
itcampro@ itcamp13# Premium conference on Microsoft technologies
Development &
MobileAccess it every were
www.forbes.com
itcampro@ itcamp13# Premium conference on Microsoft technologies
Development &
MobileCustomize screens
Data which
will be bound Screen Designer
DB
Screens
itcampro@ itcamp13# Premium conference on Microsoft technologies
Development &
MobileBuild navigation
Different modes to
display a list
Already created a detail view
of the presentation
Handle the tap event
on a item
itcampro@ itcamp13# Premium conference on Microsoft technologies
LETS SEE HOW IT WORKS
The Admin and the Client
itcampro@ itcamp13# Premium conference on Microsoft technologies
Development &
Mobile
• The Client App/Admin App with the list and
the details
• Set starting page
• Computed properties
• Custom Controls
• Local Property to HTML Client
• The possibility to view, edit and delete data
out of the box
• Give roles and rights
What we’ve seen
itcampro@ itcamp13# Premium conference on Microsoft technologies
Development &
MobileRender new UI
myapp.BrowsePresentations.RowTemplate_render = function (element, contentItem) {
// Write code here.
var itemTemplate = $('<div></div>');
var title = $('<h3>' + contentItem.value.Title + '<h3>');
var day = $('<h3>' + contentItem.value.Day.toFormat('W') + '</h3>');
var Time = $('<span>' + contentItem.value.StartTime.toFormat('H') + ':'
+ contentItem.value.StartTime.toFormat('I')
+ "-" +
+ contentItem.value.EndTime.toFormat('H') + ':'
+ contentItem.value.EndTime.toFormat('I') + '</span>');
title.appendTo($(itemTemplate));
day.appendTo($(itemTemplate));
Time.appendTo($(itemTemplate));
itemTemplate.appendTo($(element));
};
http://livingmachines.net/2009/04/even-more-javascript-extensions-dates/
itcampro@ itcamp13# Premium conference on Microsoft technologies
Development &
MobileGive access
itcampro@ itcamp13# Premium conference on Microsoft technologies
Development &
MobileAccess Control Methods
itcampro@ itcamp13# Premium conference on Microsoft technologies
CUSTOMIZE UI
Theme Roller
itcampro@ itcamp13# Premium conference on Microsoft technologies
Development &
MobileThemeRoller – jQuery Mobile
itcampro@ itcamp13# Premium conference on Microsoft technologies
Development &
Mobile
• Add Global.asax
Web API
protected void Application_Start(object sender, EventArgs e)
{
RouteTable.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate:
"api/presentations/{controller}/{id}",
defaults: new
{
id = System.Web.Http.RouteParameter.Optional
}
);
}
itcampro@ itcamp13# Premium conference on Microsoft technologies
Development &
MobileWEB API
// GET api/<controller>
public IEnumerable<Presentation> Get()
{
using (ServerApplicationContext context =
ServerApplicationContext.CreateContext())
{
var reportResult =
context.DataWorkspace.ApplicationData.Presentations.GetQuery();
return reportResult.Execute();
}
}
• Add an WEB API Controller
itcampro@ itcamp13# Premium conference on Microsoft technologies
AZURE DEPLOYMENT
DEMO - Windows Azure Portal
itcampro@ itcamp13# Premium conference on Microsoft technologies
Development &
MobileCreate new website
itcampro@ itcamp13# Premium conference on Microsoft technologies
Development &
MobileConfigure Data Base
itcampro@ itcamp13# Premium conference on Microsoft technologies
Development &
MobileManage DB
itcampro@ itcamp13# Premium conference on Microsoft technologies
Development &
MobileAdd IP
itcampro@ itcamp13# Premium conference on Microsoft technologies
Development &
MobilePublish
itcampro@ itcamp13# Premium conference on Microsoft technologies
Development &
MobileComplete Application
itcampro@ itcamp13# Premium conference on Microsoft technologies
Development &
MobileChoose your subscription
itcampro@ itcamp13# Premium conference on Microsoft technologies
Development &
MobileService type
itcampro@ itcamp13# Premium conference on Microsoft technologies
Development &
MobileApplication URL
itcampro@ itcamp13# Premium conference on Microsoft technologies
Development &
MobileAuth
itcampro@ itcamp13# Premium conference on Microsoft technologies
Development &
MobileHTTPS
itcampro@ itcamp13# Premium conference on Microsoft technologies
Development &
MobileData connections
itcampro@ itcamp13# Premium conference on Microsoft technologies
Development &
MobilePublish
itcampro@ itcamp13# Premium conference on Microsoft technologies
Development &
MobileSilverlight
itcampro@ itcamp13# Premium conference on Microsoft technologies
Development &
MobileHTML
itcampro@ itcamp13# Premium conference on Microsoft technologies
Development &
Mobile
• Business Apps with all components with LightSwitch
• Service endpoints/OData/WEB API
• HTML Client in LightSwitch/Native Client
• Azure deployment
• A custom App made with other technology which gets the
data from LightSwitch
• Many faces for your app
Options and possibilities
itcampro@ itcamp13# Premium conference on Microsoft technologies
MAKE THE PERFECT CHOICE FOR
YOUR APPLICATION
itcampro@ itcamp13# Premium conference on Microsoft technologies
Development &
Mobile
“The easiest way to create modern line of
business applications for the enterprise.”
Jay Schmelzer
LightSwitch
itcampro@ itcamp13# Premium conference on Microsoft technologies
Q & A
What’s your opinion about it?
itcampro@ itcamp13# Premium conference on Microsoft technologies
Development &
MobileResources
http://channel9.msdn.com/Events/TechEd/NorthAmerica/2012/DEV347 Jay Schmelzer
http://blogs.msdn.com/b/lightswitch/archive/2012/06/12/early-look-at-
the-visual-studio-lightswitch-html-client-joe-binder-beth-massi.aspx
Beth Massi &
Joe Binder
http://msdn.microsoft.com/en-US/library/jj733571.aspx Local Property
http://msdn.microsoft.com/en-US/library/jj733569.aspx Custom Control
http://msdn.microsoft.com/en-US/library/jj733570.aspx Control navigation
http://blogs.msdn.com/b/lightswitch/archive/2012/06/21/the-lightswitch-
html-client-an-architectural-overview.aspx
HTML Client
Architecture
http://msdn.microsoft.com/en-us/library/vstudio/hh973174.aspx Data Source
http://blogs.msdn.com/b/lightswitch/archive/2012/03/22/lightswitch-
architecture-odata.aspx
OData

More Related Content

PDF
ITCamp 2012 - Adam Granicz - Web development with WebSharper in F#
PPTX
Why software architecture (Mobile Architecture)?
PPTX
Building a Startup for the Mobile-first, Cloud-first World
PDF
Considerations when building mobile app. Presented by Microstrategy
PPTX
Mobile application architecture
PDF
Lublin Startup Festival - Mobile Architecture Design Patterns
PPT
The Age Of User Experience
PPT
Creating Close Captioned Content for BlackBerry Smartphones
ITCamp 2012 - Adam Granicz - Web development with WebSharper in F#
Why software architecture (Mobile Architecture)?
Building a Startup for the Mobile-first, Cloud-first World
Considerations when building mobile app. Presented by Microstrategy
Mobile application architecture
Lublin Startup Festival - Mobile Architecture Design Patterns
The Age Of User Experience
Creating Close Captioned Content for BlackBerry Smartphones

What's hot (20)

PDF
Mobilizing your Existing Enterprise Applications
PPTX
Innovation on the web with Silverlight
PPTX
AnDevCon: Introduction to Darwino
PDF
Building Effective and Rapid Applications with IBM MobileFirst Platform
PDF
Mobile solutions for iOS (and other platforms) - Worklight
PPTX
Developing a Modern Mobile App Strategy
PPT
HTML5 App Dev on BlackBerry 10
PPTX
Mobile Application Development Strategy
PPTX
Mobile and IBM Worklight Best Practices
PDF
IBM Collaboration Solutions Application Development - Frequently Asked Questions
PPTX
Mobile architecture overview
PDF
Software Technology Trends
PPTX
Building A Quick Base Mobile Application - Phil Gross
PDF
Build cognitive Apps that help enhance, scale and accelerate Human Expertise
PPTX
Make Good Apps great - Using IBM MobileFirst Foundation
PDF
Building a Cross-Platform Mobile App Backend in the Cloud with Node.js
PDF
Mobile application development strategy and execution
PPTX
IBM Worklight for Digital Agencies
PDF
Introduction to IBM Bluemix for Java Developers
PDF
Platform vs. Native vs. HTML5: Which mobile development makes sense for your ...
Mobilizing your Existing Enterprise Applications
Innovation on the web with Silverlight
AnDevCon: Introduction to Darwino
Building Effective and Rapid Applications with IBM MobileFirst Platform
Mobile solutions for iOS (and other platforms) - Worklight
Developing a Modern Mobile App Strategy
HTML5 App Dev on BlackBerry 10
Mobile Application Development Strategy
Mobile and IBM Worklight Best Practices
IBM Collaboration Solutions Application Development - Frequently Asked Questions
Mobile architecture overview
Software Technology Trends
Building A Quick Base Mobile Application - Phil Gross
Build cognitive Apps that help enhance, scale and accelerate Human Expertise
Make Good Apps great - Using IBM MobileFirst Foundation
Building a Cross-Platform Mobile App Backend in the Cloud with Node.js
Mobile application development strategy and execution
IBM Worklight for Digital Agencies
Introduction to IBM Bluemix for Java Developers
Platform vs. Native vs. HTML5: Which mobile development makes sense for your ...
Ad

Similar to ITCamp 2013 - Melania Danciu - HTML5 apps with LightSwitch (20)

PDF
ITCamp 2013 - Lorant Domokos - Chasing the one codebase, multiple platforms d...
PDF
ITCamp 2013 - Petru Jucovschi - Application ecosystems
PDF
How # (sharp) is Your Katana (Ciprian Jichici)
PDF
Mihai Tataran - Building Windows 8 Applications with HTML5 and JS
PDF
ITCamp 2011 - Mihai Tataran, Tudor Damian - Keynote
PDF
Developing for Windows Phone 8.1 (Dan Ardelean)
PPTX
Developing for Windows Phone 8.1
PDF
ITCamp 2012 - Ovidiu Stan - Social media platform with Telligent Community, W...
PDF
ITCamp 2011 - Melania Danciu - Mobile apps
PDF
Elements of DDD with ASP.NET MVC & Entity Framework Code First v2
PDF
ITCamp 2013 - Tim Huckaby - Kinect for Windows - Designing Software for Gestu...
PDF
ITCamp 2013 - Tim Huckaby - The Engaging User Experience & Natural User Inter...
PDF
ITCamp 2013 - Martin Kulov - Demystifying Visual Studio 2012 Performance Tools
PDF
ITCamp 2011 - Paula Januszkiewicz - 10 deadly sins of Windows Administrators
PDF
The New Era of Code in the Cloud (Bogdan Toporan)
PDF
Managing Mobile Devices with Windows Intune and SCCM 2012 (Adrian Stoian)
PDF
Data-First Online Functional Programming with F# (Adam Granicz)
PDF
ITCamp 2011 - Mihai Tataran - Migrating to Azure
PDF
ITCamp 2019 - Andrea Saltarello - Modernise your app. The Cloud Story
PDF
ITCamp 2011 - Raul Andrisan - What’s new in Silverlight 5
ITCamp 2013 - Lorant Domokos - Chasing the one codebase, multiple platforms d...
ITCamp 2013 - Petru Jucovschi - Application ecosystems
How # (sharp) is Your Katana (Ciprian Jichici)
Mihai Tataran - Building Windows 8 Applications with HTML5 and JS
ITCamp 2011 - Mihai Tataran, Tudor Damian - Keynote
Developing for Windows Phone 8.1 (Dan Ardelean)
Developing for Windows Phone 8.1
ITCamp 2012 - Ovidiu Stan - Social media platform with Telligent Community, W...
ITCamp 2011 - Melania Danciu - Mobile apps
Elements of DDD with ASP.NET MVC & Entity Framework Code First v2
ITCamp 2013 - Tim Huckaby - Kinect for Windows - Designing Software for Gestu...
ITCamp 2013 - Tim Huckaby - The Engaging User Experience & Natural User Inter...
ITCamp 2013 - Martin Kulov - Demystifying Visual Studio 2012 Performance Tools
ITCamp 2011 - Paula Januszkiewicz - 10 deadly sins of Windows Administrators
The New Era of Code in the Cloud (Bogdan Toporan)
Managing Mobile Devices with Windows Intune and SCCM 2012 (Adrian Stoian)
Data-First Online Functional Programming with F# (Adam Granicz)
ITCamp 2011 - Mihai Tataran - Migrating to Azure
ITCamp 2019 - Andrea Saltarello - Modernise your app. The Cloud Story
ITCamp 2011 - Raul Andrisan - What’s new in Silverlight 5
Ad

More from ITCamp (20)

PDF
ITCamp 2019 - Stacey M. Jenkins - Protecting your company's data - By psychol...
PDF
ITCamp 2019 - Silviu Niculita - Supercharge your AI efforts with the use of A...
PDF
ITCamp 2019 - Peter Leeson - Managing Skills
PPTX
ITCamp 2019 - Mihai Tataran - Governing your Cloud Resources
PDF
ITCamp 2019 - Ivana Milicic - Color - The Shadow Ruler of UX
PDF
ITCamp 2019 - Florin Coros - Implementing Clean Architecture
PPTX
ITCamp 2019 - Florin Loghiade - Azure Kubernetes in Production - Field notes...
PPTX
ITCamp 2019 - Florin Flestea - How 3rd Level support experience influenced m...
PPTX
ITCamp 2019 - Emil Craciun - RoboRestaurant of the future powered by serverle...
PPTX
ITCamp 2019 - Eldert Grootenboer - Cloud Architecture Recipes for The Enterprise
PPTX
ITCamp 2019 - Cristiana Fernbach - Blockchain Legal Trends
PPTX
ITCamp 2019 - Andy Cross - Machine Learning with ML.NET and Azure Data Lake
PPTX
ITCamp 2019 - Andy Cross - Business Outcomes from AI
PDF
ITCamp 2019 - Andrea Saltarello - Implementing bots and Alexa skills using Az...
PPTX
ITCamp 2019 - Alex Mang - I'm Confused Should I Orchestrate my Containers on ...
PPTX
ITCamp 2019 - Alex Mang - How Far Can Serverless Actually Go Now
PDF
ITCamp 2019 - Peter Leeson - Vitruvian Quality
PDF
ITCamp 2018 - Ciprian Sorlea - Million Dollars Hello World Application
PDF
ITCamp 2018 - Ciprian Sorlea - Enterprise Architectures with TypeScript And F...
PDF
ITCamp 2018 - Mete Atamel Ian Talarico - Google Home meets .NET containers on...
ITCamp 2019 - Stacey M. Jenkins - Protecting your company's data - By psychol...
ITCamp 2019 - Silviu Niculita - Supercharge your AI efforts with the use of A...
ITCamp 2019 - Peter Leeson - Managing Skills
ITCamp 2019 - Mihai Tataran - Governing your Cloud Resources
ITCamp 2019 - Ivana Milicic - Color - The Shadow Ruler of UX
ITCamp 2019 - Florin Coros - Implementing Clean Architecture
ITCamp 2019 - Florin Loghiade - Azure Kubernetes in Production - Field notes...
ITCamp 2019 - Florin Flestea - How 3rd Level support experience influenced m...
ITCamp 2019 - Emil Craciun - RoboRestaurant of the future powered by serverle...
ITCamp 2019 - Eldert Grootenboer - Cloud Architecture Recipes for The Enterprise
ITCamp 2019 - Cristiana Fernbach - Blockchain Legal Trends
ITCamp 2019 - Andy Cross - Machine Learning with ML.NET and Azure Data Lake
ITCamp 2019 - Andy Cross - Business Outcomes from AI
ITCamp 2019 - Andrea Saltarello - Implementing bots and Alexa skills using Az...
ITCamp 2019 - Alex Mang - I'm Confused Should I Orchestrate my Containers on ...
ITCamp 2019 - Alex Mang - How Far Can Serverless Actually Go Now
ITCamp 2019 - Peter Leeson - Vitruvian Quality
ITCamp 2018 - Ciprian Sorlea - Million Dollars Hello World Application
ITCamp 2018 - Ciprian Sorlea - Enterprise Architectures with TypeScript And F...
ITCamp 2018 - Mete Atamel Ian Talarico - Google Home meets .NET containers on...

Recently uploaded (20)

PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PPTX
TLE Review Electricity (Electricity).pptx
PPTX
cloud_computing_Infrastucture_as_cloud_p
PDF
Univ-Connecticut-ChatGPT-Presentaion.pdf
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
gpt5_lecture_notes_comprehensive_20250812015547.pdf
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
A comparative study of natural language inference in Swahili using monolingua...
PDF
Spectral efficient network and resource selection model in 5G networks
PPTX
SOPHOS-XG Firewall Administrator PPT.pptx
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
Empathic Computing: Creating Shared Understanding
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PPT
Teaching material agriculture food technology
PPTX
Tartificialntelligence_presentation.pptx
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
TLE Review Electricity (Electricity).pptx
cloud_computing_Infrastucture_as_cloud_p
Univ-Connecticut-ChatGPT-Presentaion.pdf
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
gpt5_lecture_notes_comprehensive_20250812015547.pdf
Reach Out and Touch Someone: Haptics and Empathic Computing
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
A comparative study of natural language inference in Swahili using monolingua...
Spectral efficient network and resource selection model in 5G networks
SOPHOS-XG Firewall Administrator PPT.pptx
Advanced methodologies resolving dimensionality complications for autism neur...
Assigned Numbers - 2025 - Bluetooth® Document
Programs and apps: productivity, graphics, security and other tools
Empathic Computing: Creating Shared Understanding
Mobile App Security Testing_ A Comprehensive Guide.pdf
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Teaching material agriculture food technology
Tartificialntelligence_presentation.pptx

ITCamp 2013 - Melania Danciu - HTML5 apps with LightSwitch

  • 1. itcampro@ itcamp13# Premium conference on Microsoft technologies HTML5 apps with LightSwitch Melania Danciu, Solution Architect, http://mela.ro LightSwitch
  • 2. itcampro@ itcamp13# Premium conference on Microsoft technologies Development & MobileHuge thanks to our sponsors!
  • 3. itcampro@ itcamp13# Premium conference on Microsoft technologies Development & MobileMela Engineer  - Polytechnic University of Timisora Software developer Solution Architect at Haufe-Lexware Speaker @melaniadanciu http://mela.ro
  • 4. itcampro@ itcamp13# Premium conference on Microsoft technologies Development & Mobilehttp://mela.ro
  • 5. itcampro@ itcamp13# Premium conference on Microsoft technologies Development & Mobile “The easiest way to create modern line of business applications for the enterprise.” Jay Schmelzer LightSwitch
  • 6. itcampro@ itcamp13# Premium conference on Microsoft technologies Development & MobileAgenda Today 1. Business Application • Desktop, Web and Mobile 2. Tools we need • LightSwitch 3. Build • Server • Desktop/Web • Mobile 4. Deployment • Azure/IIS
  • 7. itcampro@ itcamp13# Premium conference on Microsoft technologies No code at all and have access from every were commons.wikimedia.org
  • 8. itcampro@ itcamp13# Premium conference on Microsoft technologies MOBILE APPS FACTS Global and Europe
  • 9. itcampro@ itcamp13# Premium conference on Microsoft technologies Development & MobileICT Facts and Figures http://www.itu.int/en/ITU-D/Statistics/Documents/facts/ICTFactsFigures2013.pdf
  • 10. itcampro@ itcamp13# Premium conference on Microsoft technologies Development & MobilecomScore - EU SmartPhones http://www.comscoredatamine.com/2013/03/smartphones-reach-majority-in-all-eu5-countries/
  • 11. itcampro@ itcamp13# Premium conference on Microsoft technologies Development & MobileBusiness App on Mobile Data base • Tables, Queries Server • Define contracts • Has custom logic Administration • User Interface • Validations • Data binding • Export to other platforms Mobile App • User interface • Validation • Data binding • Roles and rights Deployments - Azure • Data Base • Server • Administration • Mobile App
  • 12. itcampro@ itcamp13# Premium conference on Microsoft technologies LIGHTSWITCH Tools we need…
  • 13. itcampro@ itcamp13# Premium conference on Microsoft technologies Development & MobileLightSwitch Has important tools Does the common tasks for us Makes us use modern technologies Uses the most used architecture patterns Creates Business Applications
  • 14. itcampro@ itcamp13# Premium conference on Microsoft technologies WITH NO CODE… And all of this
  • 15. itcampro@ itcamp13# Premium conference on Microsoft technologies Development & MobileA little bit of wizardry…
  • 16. itcampro@ itcamp13# Premium conference on Microsoft technologies Development & MobileLets Install it… Visual Studio 2012 update 2
  • 17. itcampro@ itcamp13# Premium conference on Microsoft technologies Development & MobileLight Switch Desktop app Office integration Not so touch friendly Get the data in Mobile App Made to be use on the go Touch friendly Consuming the date
  • 18. itcampro@ itcamp13# Premium conference on Microsoft technologies Development & MobileWith LightSwitch HTML Client http://msdn.microsoft.com/en-us/vstudio/htmlclient.aspx
  • 19. itcampro@ itcamp13# Premium conference on Microsoft technologies DECIDE WHAT YOU WANT TO BUILD After you have the tools…
  • 20. itcampro@ itcamp13# Premium conference on Microsoft technologies Development & MobileConference App Data Base •Speakers •Presentations •Attendees •User Management Server •Protect the app by having roles and rights and custom filters based on them Desktop App •Administer easy, make reports, have an overview HTML Client •Access every ware, give access to speakers and attendees Publish it to Azure •Make it available
  • 21. itcampro@ itcamp13# Premium conference on Microsoft technologies A LITTLE BIT MORE ABOUT IT
  • 22. itcampro@ itcamp13# Premium conference on Microsoft technologies Development & MobileLightSwitch “LightSwitch applications use the modern .NET stack of technologies, and wrap them in an abstraction layer optimized for data management and maintenance. LightSwitch makes it possible to build data-centric applications quickly, through visual means.” “With LightSwitch, you won’t be writing the same code repeatedly to provide data access functionality or the user interface needed around it. You can write no code, a little code, or a significant amount – and you can rest assured that it will be high-value code, rather than mere ‘plumbing’. “
  • 23. itcampro@ itcamp13# Premium conference on Microsoft technologies Development & MobileLanguages and tools Languages • C# • VB What we can use… • Linq • RIA Services • Entity Framework • Web API • XAML • HTML & Java Script
  • 24. itcampro@ itcamp13# Premium conference on Microsoft technologies What about HTML Client A companion to Silverlight application
  • 25. itcampro@ itcamp13# Premium conference on Microsoft technologies Development & MobileHTML Client - msdn
  • 26. itcampro@ itcamp13# Premium conference on Microsoft technologies Development & MobileContoso Moving in C#
  • 27. itcampro@ itcamp13# Premium conference on Microsoft technologies Development & Mobile • Touch oriented • Complementary to Silverlight App • Consistent design experience • Standards Based • Predefined screens • Custom UI with Js and CSS • Debug with DOM Explorer • Share Point Integration • Have it in Office 365 • Running on Smart Phones and Tablets • Have a Light and a Dark theme HTML Client - Summary
  • 28. itcampro@ itcamp13# Premium conference on Microsoft technologies Development & Mobile • Simple self-service applications – Paper on a clipboard • Field operations – Contoso apps – Moving Apps • Interactive Content Catalog & Sales – Exploratory UI 3 different types
  • 29. itcampro@ itcamp13# Premium conference on Microsoft technologies ARCHITECTURE
  • 30. itcampro@ itcamp13# Premium conference on Microsoft technologies Development & MobileOver All Architecture - msdn http://msdn.microsoft.com/en-us/vstudio/gg491708
  • 31. itcampro@ itcamp13# Premium conference on Microsoft technologies Development & MobileOdata - http://www.odata.org/ OData is a a REST protocol based on existing internet standards including HTTP, AtomPub, JSON, and hyper-media design patterns. A main feature of REST APIs is the use of existing HTTP verbs against addressable resources identified in the URI. Conceptually, OData is a way of performing database-style CRUD using HTTP verbs Create : POST Read: GET Update: PUT Delete: DELETE http://<your application url>/<Service name>.svc/<resource>
  • 32. itcampro@ itcamp13# Premium conference on Microsoft technologies Development & MobileLightSwitch as a Data Source http://msdn.microsoft.com/en-us/library/vstudio/hh973174.aspx
  • 33. itcampro@ itcamp13# Premium conference on Microsoft technologies Development & MobileOdata - msdn
  • 34. itcampro@ itcamp13# Premium conference on Microsoft technologies Development & MobileDeployment - msdn http://msdn.microsoft.com/en-us/vstudio/gg491708
  • 35. itcampro@ itcamp13# Premium conference on Microsoft technologies LETS BUILD THE APP We know what we want and we know with what tools http://www.careerattraction.com
  • 36. itcampro@ itcamp13# Premium conference on Microsoft technologies Development & MobileCreate a new Project Having 2 choices
  • 37. itcampro@ itcamp13# Premium conference on Microsoft technologies Development & MobileUpgrade your Project – If needed
  • 38. itcampro@ itcamp13# Premium conference on Microsoft technologies Development & MobileA new structure
  • 39. itcampro@ itcamp13# Premium conference on Microsoft technologies Development & MobileCreate Data Base
  • 40. itcampro@ itcamp13# Premium conference on Microsoft technologies Development & MobileCreate Custom DB
  • 41. itcampro@ itcamp13# Premium conference on Microsoft technologies Development & MobileCreate Custom DB
  • 42. itcampro@ itcamp13# Premium conference on Microsoft technologies In the old style way  CREATE ADMINISTRATION SCREENS http://www.careerattraction.com
  • 43. itcampro@ itcamp13# Premium conference on Microsoft technologies Development & MobileAdministration
  • 44. itcampro@ itcamp13# Premium conference on Microsoft technologies CREATE HTML CLIENT
  • 45. itcampro@ itcamp13# Premium conference on Microsoft technologies Development & MobileAdd a new client
  • 46. itcampro@ itcamp13# Premium conference on Microsoft technologies Development & MobileSet Client As Default 0 – 1 Silverlight Client & 0 – 1 Mobile Client
  • 47. itcampro@ itcamp13# Premium conference on Microsoft technologies Development & MobileAdd Screens http://msdn.microsoft.com/library/jj674623.aspx
  • 48. itcampro@ itcamp13# Premium conference on Microsoft technologies Development & MobileAccess it every were
  • 49. itcampro@ itcamp13# Premium conference on Microsoft technologies Development & MobileAccess it from every device about-google-android.blogspot.com
  • 50. itcampro@ itcamp13# Premium conference on Microsoft technologies Development & MobileAccess it every were www.forbes.com
  • 51. itcampro@ itcamp13# Premium conference on Microsoft technologies Development & MobileCustomize screens Data which will be bound Screen Designer DB Screens
  • 52. itcampro@ itcamp13# Premium conference on Microsoft technologies Development & MobileBuild navigation Different modes to display a list Already created a detail view of the presentation Handle the tap event on a item
  • 53. itcampro@ itcamp13# Premium conference on Microsoft technologies LETS SEE HOW IT WORKS The Admin and the Client
  • 54. itcampro@ itcamp13# Premium conference on Microsoft technologies Development & Mobile • The Client App/Admin App with the list and the details • Set starting page • Computed properties • Custom Controls • Local Property to HTML Client • The possibility to view, edit and delete data out of the box • Give roles and rights What we’ve seen
  • 55. itcampro@ itcamp13# Premium conference on Microsoft technologies Development & MobileRender new UI myapp.BrowsePresentations.RowTemplate_render = function (element, contentItem) { // Write code here. var itemTemplate = $('<div></div>'); var title = $('<h3>' + contentItem.value.Title + '<h3>'); var day = $('<h3>' + contentItem.value.Day.toFormat('W') + '</h3>'); var Time = $('<span>' + contentItem.value.StartTime.toFormat('H') + ':' + contentItem.value.StartTime.toFormat('I') + "-" + + contentItem.value.EndTime.toFormat('H') + ':' + contentItem.value.EndTime.toFormat('I') + '</span>'); title.appendTo($(itemTemplate)); day.appendTo($(itemTemplate)); Time.appendTo($(itemTemplate)); itemTemplate.appendTo($(element)); }; http://livingmachines.net/2009/04/even-more-javascript-extensions-dates/
  • 56. itcampro@ itcamp13# Premium conference on Microsoft technologies Development & MobileGive access
  • 57. itcampro@ itcamp13# Premium conference on Microsoft technologies Development & MobileAccess Control Methods
  • 58. itcampro@ itcamp13# Premium conference on Microsoft technologies CUSTOMIZE UI Theme Roller
  • 59. itcampro@ itcamp13# Premium conference on Microsoft technologies Development & MobileThemeRoller – jQuery Mobile
  • 60. itcampro@ itcamp13# Premium conference on Microsoft technologies Development & Mobile • Add Global.asax Web API protected void Application_Start(object sender, EventArgs e) { RouteTable.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/presentations/{controller}/{id}", defaults: new { id = System.Web.Http.RouteParameter.Optional } ); }
  • 61. itcampro@ itcamp13# Premium conference on Microsoft technologies Development & MobileWEB API // GET api/<controller> public IEnumerable<Presentation> Get() { using (ServerApplicationContext context = ServerApplicationContext.CreateContext()) { var reportResult = context.DataWorkspace.ApplicationData.Presentations.GetQuery(); return reportResult.Execute(); } } • Add an WEB API Controller
  • 62. itcampro@ itcamp13# Premium conference on Microsoft technologies AZURE DEPLOYMENT DEMO - Windows Azure Portal
  • 63. itcampro@ itcamp13# Premium conference on Microsoft technologies Development & MobileCreate new website
  • 64. itcampro@ itcamp13# Premium conference on Microsoft technologies Development & MobileConfigure Data Base
  • 65. itcampro@ itcamp13# Premium conference on Microsoft technologies Development & MobileManage DB
  • 66. itcampro@ itcamp13# Premium conference on Microsoft technologies Development & MobileAdd IP
  • 67. itcampro@ itcamp13# Premium conference on Microsoft technologies Development & MobilePublish
  • 68. itcampro@ itcamp13# Premium conference on Microsoft technologies Development & MobileComplete Application
  • 69. itcampro@ itcamp13# Premium conference on Microsoft technologies Development & MobileChoose your subscription
  • 70. itcampro@ itcamp13# Premium conference on Microsoft technologies Development & MobileService type
  • 71. itcampro@ itcamp13# Premium conference on Microsoft technologies Development & MobileApplication URL
  • 72. itcampro@ itcamp13# Premium conference on Microsoft technologies Development & MobileAuth
  • 73. itcampro@ itcamp13# Premium conference on Microsoft technologies Development & MobileHTTPS
  • 74. itcampro@ itcamp13# Premium conference on Microsoft technologies Development & MobileData connections
  • 75. itcampro@ itcamp13# Premium conference on Microsoft technologies Development & MobilePublish
  • 76. itcampro@ itcamp13# Premium conference on Microsoft technologies Development & MobileSilverlight
  • 77. itcampro@ itcamp13# Premium conference on Microsoft technologies Development & MobileHTML
  • 78. itcampro@ itcamp13# Premium conference on Microsoft technologies Development & Mobile • Business Apps with all components with LightSwitch • Service endpoints/OData/WEB API • HTML Client in LightSwitch/Native Client • Azure deployment • A custom App made with other technology which gets the data from LightSwitch • Many faces for your app Options and possibilities
  • 79. itcampro@ itcamp13# Premium conference on Microsoft technologies MAKE THE PERFECT CHOICE FOR YOUR APPLICATION
  • 80. itcampro@ itcamp13# Premium conference on Microsoft technologies Development & Mobile “The easiest way to create modern line of business applications for the enterprise.” Jay Schmelzer LightSwitch
  • 81. itcampro@ itcamp13# Premium conference on Microsoft technologies Q & A What’s your opinion about it?
  • 82. itcampro@ itcamp13# Premium conference on Microsoft technologies Development & MobileResources http://channel9.msdn.com/Events/TechEd/NorthAmerica/2012/DEV347 Jay Schmelzer http://blogs.msdn.com/b/lightswitch/archive/2012/06/12/early-look-at- the-visual-studio-lightswitch-html-client-joe-binder-beth-massi.aspx Beth Massi & Joe Binder http://msdn.microsoft.com/en-US/library/jj733571.aspx Local Property http://msdn.microsoft.com/en-US/library/jj733569.aspx Custom Control http://msdn.microsoft.com/en-US/library/jj733570.aspx Control navigation http://blogs.msdn.com/b/lightswitch/archive/2012/06/21/the-lightswitch- html-client-an-architectural-overview.aspx HTML Client Architecture http://msdn.microsoft.com/en-us/library/vstudio/hh973174.aspx Data Source http://blogs.msdn.com/b/lightswitch/archive/2012/03/22/lightswitch- architecture-odata.aspx OData