SlideShare a Scribd company logo
PHP and Silverlight              LEVEL
                                  200
Maarten Balliauw & Kevin Dockx
 RealDolmen
Who are we?
 Maarten Balliauw – RealDolmen                Kevin Dockx – RealDolmen
 E-mail:                                      E-mail:
     maarten.balliauw@realdolmen.com              kevin.dockx@realdolmen.com
 Blog:                                        Blog:
     http://blog.maartenballiauw.be               http://kevindockx.blogspot.com
 Twitter:
     http://twitter.com/maartenballiauw




June 1, 2009                       PHP and Silverlight                             2
Agenda
•   What is Silverlight?
•   Why Silverlight?
•   Why Silverlight and PHP?
•   Building an application using both
•   More on Silverlight
•   Q&A



June 1, 2009        PHP and Silverlight   3
What is Silverlight?
• Rich Applications are the future, today
     – Adobe Flex
     – Microsoft Silverlight


• Silverlight
     – “A framework for providing rich applications to the
       browser”
     – “A cross-browser, cross-platform implementation of the
       .NET Framework for building and delivering the next
       generation of Rich Internet Applications for the web”


June 1, 2009               PHP and Silverlight                  4
What is Silverlight?
• 4-5 MB plugin
     – Download once, distributed through Windows Update
     – Also available on Linux (Moonlight) and Mac
• Runs in browser, on the client
     – Internet Explorer
     – Firefox, Safari, Opera, Chrome
• Subset of the full .NET Framework
     – Originated from Windows Presentation Foundation
• Rich UI: XAML / .NET code: C# - VB.NET


June 1, 2009              PHP and Silverlight              5
Why Silverlight?
• HTML / PHP / ASPX / AJAX
     – Best days are over…
     – Extending HTML (CSS 3, AJAX, …)
     – “like putting lipstick on a pig”
• Silverlight
     –   Stateful model
     –   .NET Framework
     –   UI Capabilities
     –   Cross-platform



June 1, 2009               PHP and Silverlight   6
Why Silverlight and PHP?
• Best of both worlds?
• PHP
     – Rapid application programming
     – Ideal as back-end using JSON or SOAP
     – Re-use your existing PHP logic
• Silverlight
     – Rapid user interface development
     – Create rich interfaces using a rich framework

June 1, 2009           PHP and Silverlight             7
Programming Silverlight
• XAML
     – “an XML file that defines user interfaces”
     – Tool: Expression Blend (or Eclipse)

• .NET
     – Rich framework offering endless possibilities
     – Tool: Microsoft Visual Studio (2008, .NET 3.5, SP1) (or Eclipse)

• PHP
     – i.e. Zend Framework
     – Tool: Zend Studio (or Eclipse PDT)

                Strong separation of UI design & logic

June 1, 2009                     PHP and Silverlight                      8
Getting started
• Visual Studio 2008 SP1
• Silverlight Tools for VS2008 SP1
     –   VS2008 Updates
     –   Project Templates
     –   Runtime
     –   SDK
• Expression Blend 2.0 SP1
• Possibility: Eclipse4SL -
  http://www.eclipse4sl.org/


June 1, 2009                 PHP and Silverlight   9
• Under active development (ongoing)
• Catching up Visual Studio 2008 Silverlight editing
  possibilities
     – But just like VS2008: still not the rich designer that
       Expression Blend is…
• Currently Win & Mac
• Next milestone: full SL debugging

           http://www.eclipse4sl.org


June 1, 2009                PHP and Silverlight                 10
Why Eclipse4SL?
• Allows Eclipse
  developers to build                             Eclipse
                                                  Developer
  RIA with Silverlight
• Allows Collaboration
  between
     – Web Designers                                          Common
                                                               Project
     – .NET Developers                                         System
                                                                          Web
     – Eclipse Developers
                                              .NET
                                            Developer                    Designer
       (Java, PHP, ..)



June 1, 2009                PHP and Silverlight                                     11
Editing a Silverlight Solution
       DEMO
June 1, 2009           PHP and Silverlight   12
What about my data?
• Silverlight does not include data namespaces
  (client tech)!

• For most apps, this forces you to use a Service
  Oriented Architecture




June 1, 2009         PHP and Silverlight            15
Communicating (with data services)
• Silverlight includes support for
     –   WebClient, WebHttpRequest-classes
     –   REST, JSON, SOAP, …
     –   Windows Communication Foundation
     –   … almost any kind of service can be accessed


• Preferred way to communicate: through WCF
     – BasicHttpBinding




June 1, 2009               PHP and Silverlight          16
Zend Framework SOAP
• Not 100% compatible WS-I Basic Profile 1.1 
     – http://www.ws-i.org/Profiles/BasicProfile-1.1-2004-08-24.html
• WCF supports the ZF implementation
• Silverlight doesn’t: subset of WCF
• SOAP service should be possible with NuSOAP

• Solution we used: JSON




June 1, 2009                PHP and Silverlight                        17
Communicating with JSON-service
• CrossDomain.xml / ClientAccessPolicy.xml
     – Tells SL it/who can access the service
• Use WebClient
• Add handler to completed event
• Call service method (Async)




June 1, 2009               PHP and Silverlight   18
{Liquify} your brain




         BarTender - Communicating with service
        DEMO
 June 1, 2009          PHP and Silverlight    19
BarTender - Communicating with service
       DEMO
June 1, 2009         PHP and Silverlight     20
Keywords when working with data
•   DataContext
•   DataBinding
•   INotifyPropertyChanged/CollectionChanged
•   ValueConverters




June 1, 2009         PHP and Silverlight       21
What else is there?

• Localization

• Isolated Storage




June 1, 2009         PHP and Silverlight   30
Resources: Silverlight Toolkit
• Contains controls, components, utilities to use in
  SL apps (MS, source available)
     – AutoCompleteBox, different Panel controls, UpDown
       control, Treeview, Expander, …
     – Charting component
     – ImplicitStyleManager
     – Various themes included


• http://www.codeplex.com/Silverlight


June 1, 2009             PHP and Silverlight               31
Resources: Blacklight
• Contains components to use in SL apps,
  focussed on design (3rd party, source
  available)
     – Glass, DropShadow, InnerGlow, OuterGlow,
       Perspective Shadow, Radial Shadow Border
     – DragDrop Panel, Animated Layout Panel
• http://www.codeplex.com/Blacklight



June 1, 2009         PHP and Silverlight          32
Resources
•   http://silverlight.net/
•   http://codeplex.com/Silverlight
•   http://codeplex.com/Blacklight
•   http://silverlightdragdrop.codeplex.com




June 1, 2009       PHP and Silverlight        33
Questions and Answers




June 1, 2009   PHP and Silverlight   34
Next steps…
• Since we are last today…
     • Go grab a beer!
     • Pay us a beer! 
• Enjoy your day and weekend!




June 1, 2009          PHP and Silverlight   35
http://blog.maartenballiauw.be
http://kevindockx.blogspot.com

More Related Content

What's hot

Build beautiful native apps in record time with flutter
Build beautiful native apps in record time with flutterBuild beautiful native apps in record time with flutter
Build beautiful native apps in record time with flutter
RobertLe30
 
Flutter overview - advantages & disadvantages for business
Flutter overview - advantages & disadvantages for businessFlutter overview - advantages & disadvantages for business
Flutter overview - advantages & disadvantages for business
Bartosz Kosarzycki
 
Top five reasons you should prefer flutter app development
Top five reasons you should prefer flutter app developmentTop five reasons you should prefer flutter app development
Top five reasons you should prefer flutter app development
Solution Analysts
 
Getting started with flutter
Getting started with flutterGetting started with flutter
Getting started with flutter
rihannakedy
 
React native vs. ionic – which one is better and why
React native vs. ionic – which one is better and why React native vs. ionic – which one is better and why
React native vs. ionic – which one is better and why
Moon Technolabs Pvt. Ltd.
 
Developer Student Clubs NUK - Flutter for Beginners
Developer Student Clubs NUK - Flutter for BeginnersDeveloper Student Clubs NUK - Flutter for Beginners
Developer Student Clubs NUK - Flutter for Beginners
Jiaxuan Lin
 
Flutter vs React Native 2019
Flutter vs React Native 2019Flutter vs React Native 2019
Flutter vs React Native 2019
Rockers Technology
 
Capacitor 2.0 Launch
Capacitor 2.0 LaunchCapacitor 2.0 Launch
Capacitor 2.0 Launch
Ionic Framework
 
The magic of flutter
The magic of flutterThe magic of flutter
The magic of flutter
Shady Selim
 
What and Why Flutter? What is a Widget in Flutter?
What and Why Flutter? What is a Widget in Flutter?What and Why Flutter? What is a Widget in Flutter?
What and Why Flutter? What is a Widget in Flutter?
MohammadHussain595488
 
flutter.school #HelloWorld
flutter.school #HelloWorldflutter.school #HelloWorld
flutter.school #HelloWorld
Frederik Schweiger
 
Ionic in 30
Ionic in 30Ionic in 30
Ionic in 30
Ionic Framework
 
Hybrid application development
Hybrid application developmentHybrid application development
Hybrid application development
Knoldus Inc.
 
Getting Started with Cross-Platform Mobile Development with Flutter and Dart
Getting Started with Cross-Platform Mobile Development with Flutter and DartGetting Started with Cross-Platform Mobile Development with Flutter and Dart
Getting Started with Cross-Platform Mobile Development with Flutter and Dart
Harshith Keni
 
Capacitor 1.0 launch
Capacitor 1.0 launchCapacitor 1.0 launch
Capacitor 1.0 launch
Ionic Framework
 
Hybrid App Development, Redefined
Hybrid App Development, RedefinedHybrid App Development, Redefined
Hybrid App Development, Redefined
Ionic Framework
 
Intro to Flutter
Intro to FlutterIntro to Flutter
Intro to Flutter
Eason Pai
 
Flutter workshop
Flutter workshopFlutter workshop
Flutter workshop
Narayan Vyas
 
Ionic Native: Native-powered apps, without the hassle
Ionic Native: Native-powered apps, without the hassleIonic Native: Native-powered apps, without the hassle
Ionic Native: Native-powered apps, without the hassle
Ionic Framework
 
Reimagining Cordova: Building Cross-Platform Web Apps with Capacitor
Reimagining Cordova: Building Cross-Platform Web Apps with CapacitorReimagining Cordova: Building Cross-Platform Web Apps with Capacitor
Reimagining Cordova: Building Cross-Platform Web Apps with Capacitor
Ionic Framework
 

What's hot (20)

Build beautiful native apps in record time with flutter
Build beautiful native apps in record time with flutterBuild beautiful native apps in record time with flutter
Build beautiful native apps in record time with flutter
 
Flutter overview - advantages & disadvantages for business
Flutter overview - advantages & disadvantages for businessFlutter overview - advantages & disadvantages for business
Flutter overview - advantages & disadvantages for business
 
Top five reasons you should prefer flutter app development
Top five reasons you should prefer flutter app developmentTop five reasons you should prefer flutter app development
Top five reasons you should prefer flutter app development
 
Getting started with flutter
Getting started with flutterGetting started with flutter
Getting started with flutter
 
React native vs. ionic – which one is better and why
React native vs. ionic – which one is better and why React native vs. ionic – which one is better and why
React native vs. ionic – which one is better and why
 
Developer Student Clubs NUK - Flutter for Beginners
Developer Student Clubs NUK - Flutter for BeginnersDeveloper Student Clubs NUK - Flutter for Beginners
Developer Student Clubs NUK - Flutter for Beginners
 
Flutter vs React Native 2019
Flutter vs React Native 2019Flutter vs React Native 2019
Flutter vs React Native 2019
 
Capacitor 2.0 Launch
Capacitor 2.0 LaunchCapacitor 2.0 Launch
Capacitor 2.0 Launch
 
The magic of flutter
The magic of flutterThe magic of flutter
The magic of flutter
 
What and Why Flutter? What is a Widget in Flutter?
What and Why Flutter? What is a Widget in Flutter?What and Why Flutter? What is a Widget in Flutter?
What and Why Flutter? What is a Widget in Flutter?
 
flutter.school #HelloWorld
flutter.school #HelloWorldflutter.school #HelloWorld
flutter.school #HelloWorld
 
Ionic in 30
Ionic in 30Ionic in 30
Ionic in 30
 
Hybrid application development
Hybrid application developmentHybrid application development
Hybrid application development
 
Getting Started with Cross-Platform Mobile Development with Flutter and Dart
Getting Started with Cross-Platform Mobile Development with Flutter and DartGetting Started with Cross-Platform Mobile Development with Flutter and Dart
Getting Started with Cross-Platform Mobile Development with Flutter and Dart
 
Capacitor 1.0 launch
Capacitor 1.0 launchCapacitor 1.0 launch
Capacitor 1.0 launch
 
Hybrid App Development, Redefined
Hybrid App Development, RedefinedHybrid App Development, Redefined
Hybrid App Development, Redefined
 
Intro to Flutter
Intro to FlutterIntro to Flutter
Intro to Flutter
 
Flutter workshop
Flutter workshopFlutter workshop
Flutter workshop
 
Ionic Native: Native-powered apps, without the hassle
Ionic Native: Native-powered apps, without the hassleIonic Native: Native-powered apps, without the hassle
Ionic Native: Native-powered apps, without the hassle
 
Reimagining Cordova: Building Cross-Platform Web Apps with Capacitor
Reimagining Cordova: Building Cross-Platform Web Apps with CapacitorReimagining Cordova: Building Cross-Platform Web Apps with Capacitor
Reimagining Cordova: Building Cross-Platform Web Apps with Capacitor
 

Viewers also liked

MSDN - Converting an existing ASP.NET application to Windows Azure
MSDN - Converting an existing ASP.NET application to Windows AzureMSDN - Converting an existing ASP.NET application to Windows Azure
MSDN - Converting an existing ASP.NET application to Windows Azure
Maarten Balliauw
 
PHPExcel
PHPExcelPHPExcel
ASP.NET MVC Wisdom
ASP.NET MVC WisdomASP.NET MVC Wisdom
ASP.NET MVC Wisdom
Maarten Balliauw
 
AZUG.BE - Azure User Group Belgium - First public meeting
AZUG.BE - Azure User Group Belgium - First public meetingAZUG.BE - Azure User Group Belgium - First public meeting
AZUG.BE - Azure User Group Belgium - First public meeting
Maarten Balliauw
 
Just another Wordpress weblog, but more cloudy
Just another Wordpress weblog, but more cloudyJust another Wordpress weblog, but more cloudy
Just another Wordpress weblog, but more cloudy
Maarten Balliauw
 
Mocking - Visug session
Mocking - Visug sessionMocking - Visug session
Mocking - Visug session
Maarten Balliauw
 
Introduction to ASP.NET MVC
Introduction to ASP.NET MVCIntroduction to ASP.NET MVC
Introduction to ASP.NET MVC
Maarten Balliauw
 
MSDN - ASP.NET MVC
MSDN - ASP.NET MVCMSDN - ASP.NET MVC
MSDN - ASP.NET MVC
Maarten Balliauw
 

Viewers also liked (8)

MSDN - Converting an existing ASP.NET application to Windows Azure
MSDN - Converting an existing ASP.NET application to Windows AzureMSDN - Converting an existing ASP.NET application to Windows Azure
MSDN - Converting an existing ASP.NET application to Windows Azure
 
PHPExcel
PHPExcelPHPExcel
PHPExcel
 
ASP.NET MVC Wisdom
ASP.NET MVC WisdomASP.NET MVC Wisdom
ASP.NET MVC Wisdom
 
AZUG.BE - Azure User Group Belgium - First public meeting
AZUG.BE - Azure User Group Belgium - First public meetingAZUG.BE - Azure User Group Belgium - First public meeting
AZUG.BE - Azure User Group Belgium - First public meeting
 
Just another Wordpress weblog, but more cloudy
Just another Wordpress weblog, but more cloudyJust another Wordpress weblog, but more cloudy
Just another Wordpress weblog, but more cloudy
 
Mocking - Visug session
Mocking - Visug sessionMocking - Visug session
Mocking - Visug session
 
Introduction to ASP.NET MVC
Introduction to ASP.NET MVCIntroduction to ASP.NET MVC
Introduction to ASP.NET MVC
 
MSDN - ASP.NET MVC
MSDN - ASP.NET MVCMSDN - ASP.NET MVC
MSDN - ASP.NET MVC
 

Similar to PHP And Silverlight - DevDays session

PHP and Silverlight
PHP and SilverlightPHP and Silverlight
PHP and Silverlight
Maarten Balliauw
 
Silverlight
SilverlightSilverlight
Silverlight
pradeepfdo
 
PHP konferencija - Microsoft
PHP konferencija - MicrosoftPHP konferencija - Microsoft
PHP konferencija - Microsoft
nusmas
 
Apache Flex and the imperfect Web
Apache Flex and the imperfect WebApache Flex and the imperfect Web
Apache Flex and the imperfect Web
masuland
 
Apache Flex: Overview
Apache Flex: OverviewApache Flex: Overview
Apache Flex: Overview
Tarun Telang
 
LAMP is so yesterday, MEAN is so tomorrow! :)
LAMP is so yesterday, MEAN is so tomorrow! :) LAMP is so yesterday, MEAN is so tomorrow! :)
LAMP is so yesterday, MEAN is so tomorrow! :)
Sascha Sambale
 
Silverlight - What Is It And How Can We Use It
Silverlight - What Is It And How Can We Use ItSilverlight - What Is It And How Can We Use It
Silverlight - What Is It And How Can We Use It
Venketash (Pat) Ramadass
 
Introduction to Microsoft Silverlight
Introduction to Microsoft SilverlightIntroduction to Microsoft Silverlight
Introduction to Microsoft Silverlight
Glen Gordon
 
Uncovering Windows - Silverlight Seminar
Uncovering Windows - Silverlight SeminarUncovering Windows - Silverlight Seminar
Uncovering Windows - Silverlight Seminar
Abram John Limpin
 
It's Time for Silverlight @iRajLal
It's Time for Silverlight @iRajLalIt's Time for Silverlight @iRajLal
It's Time for Silverlight @iRajLal
Raj Lal
 
Aspnet2.0 Introduction
Aspnet2.0 IntroductionAspnet2.0 Introduction
Aspnet2.0 Introduction
ChanHan Hy
 
Rongde Qiu-DDsmile-2015.1.25
Rongde Qiu-DDsmile-2015.1.25Rongde Qiu-DDsmile-2015.1.25
Rongde Qiu-DDsmile-2015.1.25
Rongde Qiu
 
Chris Wilson @ FOWA Feb 07
Chris Wilson @ FOWA Feb 07Chris Wilson @ FOWA Feb 07
Chris Wilson @ FOWA Feb 07
carsonsystems
 
The next step from Microsoft - Vnext (Srdjan Poznic)
The next step from Microsoft - Vnext (Srdjan Poznic)The next step from Microsoft - Vnext (Srdjan Poznic)
The next step from Microsoft - Vnext (Srdjan Poznic)
Geekstone
 
RIA Platform Comparison
RIA Platform ComparisonRIA Platform Comparison
RIA Platform Comparison
Oliver Steele
 
Introducing ASP.NET vNext – The Future of .NET on the Server | FalafelCON 2014
Introducing ASP.NET vNext – The Future of .NET on the Server | FalafelCON 2014Introducing ASP.NET vNext – The Future of .NET on the Server | FalafelCON 2014
Introducing ASP.NET vNext – The Future of .NET on the Server | FalafelCON 2014
FalafelSoftware
 
Unleash your Symfony projects with eZ Platform
Unleash your Symfony projects with eZ PlatformUnleash your Symfony projects with eZ Platform
Unleash your Symfony projects with eZ Platform
Sébastien Morel
 
Ria Applications And PHP
Ria Applications And PHPRia Applications And PHP
Ria Applications And PHP
John Coggeshall
 
AN INTRODUCTION TO APACHE FLEX
AN INTRODUCTION TO APACHE FLEXAN INTRODUCTION TO APACHE FLEX
AN INTRODUCTION TO APACHE FLEX
Joseph Labrecque
 
JS digest, March 2017
JS digest, March 2017JS digest, March 2017
JS digest, March 2017
ElifTech
 

Similar to PHP And Silverlight - DevDays session (20)

PHP and Silverlight
PHP and SilverlightPHP and Silverlight
PHP and Silverlight
 
Silverlight
SilverlightSilverlight
Silverlight
 
PHP konferencija - Microsoft
PHP konferencija - MicrosoftPHP konferencija - Microsoft
PHP konferencija - Microsoft
 
Apache Flex and the imperfect Web
Apache Flex and the imperfect WebApache Flex and the imperfect Web
Apache Flex and the imperfect Web
 
Apache Flex: Overview
Apache Flex: OverviewApache Flex: Overview
Apache Flex: Overview
 
LAMP is so yesterday, MEAN is so tomorrow! :)
LAMP is so yesterday, MEAN is so tomorrow! :) LAMP is so yesterday, MEAN is so tomorrow! :)
LAMP is so yesterday, MEAN is so tomorrow! :)
 
Silverlight - What Is It And How Can We Use It
Silverlight - What Is It And How Can We Use ItSilverlight - What Is It And How Can We Use It
Silverlight - What Is It And How Can We Use It
 
Introduction to Microsoft Silverlight
Introduction to Microsoft SilverlightIntroduction to Microsoft Silverlight
Introduction to Microsoft Silverlight
 
Uncovering Windows - Silverlight Seminar
Uncovering Windows - Silverlight SeminarUncovering Windows - Silverlight Seminar
Uncovering Windows - Silverlight Seminar
 
It's Time for Silverlight @iRajLal
It's Time for Silverlight @iRajLalIt's Time for Silverlight @iRajLal
It's Time for Silverlight @iRajLal
 
Aspnet2.0 Introduction
Aspnet2.0 IntroductionAspnet2.0 Introduction
Aspnet2.0 Introduction
 
Rongde Qiu-DDsmile-2015.1.25
Rongde Qiu-DDsmile-2015.1.25Rongde Qiu-DDsmile-2015.1.25
Rongde Qiu-DDsmile-2015.1.25
 
Chris Wilson @ FOWA Feb 07
Chris Wilson @ FOWA Feb 07Chris Wilson @ FOWA Feb 07
Chris Wilson @ FOWA Feb 07
 
The next step from Microsoft - Vnext (Srdjan Poznic)
The next step from Microsoft - Vnext (Srdjan Poznic)The next step from Microsoft - Vnext (Srdjan Poznic)
The next step from Microsoft - Vnext (Srdjan Poznic)
 
RIA Platform Comparison
RIA Platform ComparisonRIA Platform Comparison
RIA Platform Comparison
 
Introducing ASP.NET vNext – The Future of .NET on the Server | FalafelCON 2014
Introducing ASP.NET vNext – The Future of .NET on the Server | FalafelCON 2014Introducing ASP.NET vNext – The Future of .NET on the Server | FalafelCON 2014
Introducing ASP.NET vNext – The Future of .NET on the Server | FalafelCON 2014
 
Unleash your Symfony projects with eZ Platform
Unleash your Symfony projects with eZ PlatformUnleash your Symfony projects with eZ Platform
Unleash your Symfony projects with eZ Platform
 
Ria Applications And PHP
Ria Applications And PHPRia Applications And PHP
Ria Applications And PHP
 
AN INTRODUCTION TO APACHE FLEX
AN INTRODUCTION TO APACHE FLEXAN INTRODUCTION TO APACHE FLEX
AN INTRODUCTION TO APACHE FLEX
 
JS digest, March 2017
JS digest, March 2017JS digest, March 2017
JS digest, March 2017
 

More from Maarten Balliauw

Bringing nullability into existing code - dammit is not the answer.pptx
Bringing nullability into existing code - dammit is not the answer.pptxBringing nullability into existing code - dammit is not the answer.pptx
Bringing nullability into existing code - dammit is not the answer.pptx
Maarten Balliauw
 
Nerd sniping myself into a rabbit hole... Streaming online audio to a Sonos s...
Nerd sniping myself into a rabbit hole... Streaming online audio to a Sonos s...Nerd sniping myself into a rabbit hole... Streaming online audio to a Sonos s...
Nerd sniping myself into a rabbit hole... Streaming online audio to a Sonos s...
Maarten Balliauw
 
Building a friendly .NET SDK to connect to Space
Building a friendly .NET SDK to connect to SpaceBuilding a friendly .NET SDK to connect to Space
Building a friendly .NET SDK to connect to Space
Maarten Balliauw
 
Microservices for building an IDE - The innards of JetBrains Rider - NDC Oslo...
Microservices for building an IDE - The innards of JetBrains Rider - NDC Oslo...Microservices for building an IDE - The innards of JetBrains Rider - NDC Oslo...
Microservices for building an IDE - The innards of JetBrains Rider - NDC Oslo...
Maarten Balliauw
 
Indexing and searching NuGet.org with Azure Functions and Search - .NET fwday...
Indexing and searching NuGet.org with Azure Functions and Search - .NET fwday...Indexing and searching NuGet.org with Azure Functions and Search - .NET fwday...
Indexing and searching NuGet.org with Azure Functions and Search - .NET fwday...
Maarten Balliauw
 
NDC Sydney 2019 - Microservices for building an IDE – The innards of JetBrain...
NDC Sydney 2019 - Microservices for building an IDE – The innards of JetBrain...NDC Sydney 2019 - Microservices for building an IDE – The innards of JetBrain...
NDC Sydney 2019 - Microservices for building an IDE – The innards of JetBrain...
Maarten Balliauw
 
JetBrains Australia 2019 - Exploring .NET’s memory management – a trip down m...
JetBrains Australia 2019 - Exploring .NET’s memory management – a trip down m...JetBrains Australia 2019 - Exploring .NET’s memory management – a trip down m...
JetBrains Australia 2019 - Exploring .NET’s memory management – a trip down m...
Maarten Balliauw
 
.NET Conf 2019 - Indexing and searching NuGet.org with Azure Functions and Se...
.NET Conf 2019 - Indexing and searching NuGet.org with Azure Functions and Se....NET Conf 2019 - Indexing and searching NuGet.org with Azure Functions and Se...
.NET Conf 2019 - Indexing and searching NuGet.org with Azure Functions and Se...
Maarten Balliauw
 
CloudBurst 2019 - Indexing and searching NuGet.org with Azure Functions and S...
CloudBurst 2019 - Indexing and searching NuGet.org with Azure Functions and S...CloudBurst 2019 - Indexing and searching NuGet.org with Azure Functions and S...
CloudBurst 2019 - Indexing and searching NuGet.org with Azure Functions and S...
Maarten Balliauw
 
NDC Oslo 2019 - Indexing and searching NuGet.org with Azure Functions and Search
NDC Oslo 2019 - Indexing and searching NuGet.org with Azure Functions and SearchNDC Oslo 2019 - Indexing and searching NuGet.org with Azure Functions and Search
NDC Oslo 2019 - Indexing and searching NuGet.org with Azure Functions and Search
Maarten Balliauw
 
Approaches for application request throttling - Cloud Developer Days Poland
Approaches for application request throttling - Cloud Developer Days PolandApproaches for application request throttling - Cloud Developer Days Poland
Approaches for application request throttling - Cloud Developer Days Poland
Maarten Balliauw
 
Indexing and searching NuGet.org with Azure Functions and Search - Cloud Deve...
Indexing and searching NuGet.org with Azure Functions and Search - Cloud Deve...Indexing and searching NuGet.org with Azure Functions and Search - Cloud Deve...
Indexing and searching NuGet.org with Azure Functions and Search - Cloud Deve...
Maarten Balliauw
 
Approaches for application request throttling - dotNetCologne
Approaches for application request throttling - dotNetCologneApproaches for application request throttling - dotNetCologne
Approaches for application request throttling - dotNetCologne
Maarten Balliauw
 
CodeStock - Exploring .NET memory management - a trip down memory lane
CodeStock - Exploring .NET memory management - a trip down memory laneCodeStock - Exploring .NET memory management - a trip down memory lane
CodeStock - Exploring .NET memory management - a trip down memory lane
Maarten Balliauw
 
ConFoo Montreal - Microservices for building an IDE - The innards of JetBrain...
ConFoo Montreal - Microservices for building an IDE - The innards of JetBrain...ConFoo Montreal - Microservices for building an IDE - The innards of JetBrain...
ConFoo Montreal - Microservices for building an IDE - The innards of JetBrain...
Maarten Balliauw
 
ConFoo Montreal - Approaches for application request throttling
ConFoo Montreal - Approaches for application request throttlingConFoo Montreal - Approaches for application request throttling
ConFoo Montreal - Approaches for application request throttling
Maarten Balliauw
 
Microservices for building an IDE – The innards of JetBrains Rider - TechDays...
Microservices for building an IDE – The innards of JetBrains Rider - TechDays...Microservices for building an IDE – The innards of JetBrains Rider - TechDays...
Microservices for building an IDE – The innards of JetBrains Rider - TechDays...
Maarten Balliauw
 
JetBrains Day Seoul - Exploring .NET’s memory management – a trip down memory...
JetBrains Day Seoul - Exploring .NET’s memory management – a trip down memory...JetBrains Day Seoul - Exploring .NET’s memory management – a trip down memory...
JetBrains Day Seoul - Exploring .NET’s memory management – a trip down memory...
Maarten Balliauw
 
DotNetFest - Let’s refresh our memory! Memory management in .NET
DotNetFest - Let’s refresh our memory! Memory management in .NETDotNetFest - Let’s refresh our memory! Memory management in .NET
DotNetFest - Let’s refresh our memory! Memory management in .NET
Maarten Balliauw
 
VISUG - Approaches for application request throttling
VISUG - Approaches for application request throttlingVISUG - Approaches for application request throttling
VISUG - Approaches for application request throttling
Maarten Balliauw
 

More from Maarten Balliauw (20)

Bringing nullability into existing code - dammit is not the answer.pptx
Bringing nullability into existing code - dammit is not the answer.pptxBringing nullability into existing code - dammit is not the answer.pptx
Bringing nullability into existing code - dammit is not the answer.pptx
 
Nerd sniping myself into a rabbit hole... Streaming online audio to a Sonos s...
Nerd sniping myself into a rabbit hole... Streaming online audio to a Sonos s...Nerd sniping myself into a rabbit hole... Streaming online audio to a Sonos s...
Nerd sniping myself into a rabbit hole... Streaming online audio to a Sonos s...
 
Building a friendly .NET SDK to connect to Space
Building a friendly .NET SDK to connect to SpaceBuilding a friendly .NET SDK to connect to Space
Building a friendly .NET SDK to connect to Space
 
Microservices for building an IDE - The innards of JetBrains Rider - NDC Oslo...
Microservices for building an IDE - The innards of JetBrains Rider - NDC Oslo...Microservices for building an IDE - The innards of JetBrains Rider - NDC Oslo...
Microservices for building an IDE - The innards of JetBrains Rider - NDC Oslo...
 
Indexing and searching NuGet.org with Azure Functions and Search - .NET fwday...
Indexing and searching NuGet.org with Azure Functions and Search - .NET fwday...Indexing and searching NuGet.org with Azure Functions and Search - .NET fwday...
Indexing and searching NuGet.org with Azure Functions and Search - .NET fwday...
 
NDC Sydney 2019 - Microservices for building an IDE – The innards of JetBrain...
NDC Sydney 2019 - Microservices for building an IDE – The innards of JetBrain...NDC Sydney 2019 - Microservices for building an IDE – The innards of JetBrain...
NDC Sydney 2019 - Microservices for building an IDE – The innards of JetBrain...
 
JetBrains Australia 2019 - Exploring .NET’s memory management – a trip down m...
JetBrains Australia 2019 - Exploring .NET’s memory management – a trip down m...JetBrains Australia 2019 - Exploring .NET’s memory management – a trip down m...
JetBrains Australia 2019 - Exploring .NET’s memory management – a trip down m...
 
.NET Conf 2019 - Indexing and searching NuGet.org with Azure Functions and Se...
.NET Conf 2019 - Indexing and searching NuGet.org with Azure Functions and Se....NET Conf 2019 - Indexing and searching NuGet.org with Azure Functions and Se...
.NET Conf 2019 - Indexing and searching NuGet.org with Azure Functions and Se...
 
CloudBurst 2019 - Indexing and searching NuGet.org with Azure Functions and S...
CloudBurst 2019 - Indexing and searching NuGet.org with Azure Functions and S...CloudBurst 2019 - Indexing and searching NuGet.org with Azure Functions and S...
CloudBurst 2019 - Indexing and searching NuGet.org with Azure Functions and S...
 
NDC Oslo 2019 - Indexing and searching NuGet.org with Azure Functions and Search
NDC Oslo 2019 - Indexing and searching NuGet.org with Azure Functions and SearchNDC Oslo 2019 - Indexing and searching NuGet.org with Azure Functions and Search
NDC Oslo 2019 - Indexing and searching NuGet.org with Azure Functions and Search
 
Approaches for application request throttling - Cloud Developer Days Poland
Approaches for application request throttling - Cloud Developer Days PolandApproaches for application request throttling - Cloud Developer Days Poland
Approaches for application request throttling - Cloud Developer Days Poland
 
Indexing and searching NuGet.org with Azure Functions and Search - Cloud Deve...
Indexing and searching NuGet.org with Azure Functions and Search - Cloud Deve...Indexing and searching NuGet.org with Azure Functions and Search - Cloud Deve...
Indexing and searching NuGet.org with Azure Functions and Search - Cloud Deve...
 
Approaches for application request throttling - dotNetCologne
Approaches for application request throttling - dotNetCologneApproaches for application request throttling - dotNetCologne
Approaches for application request throttling - dotNetCologne
 
CodeStock - Exploring .NET memory management - a trip down memory lane
CodeStock - Exploring .NET memory management - a trip down memory laneCodeStock - Exploring .NET memory management - a trip down memory lane
CodeStock - Exploring .NET memory management - a trip down memory lane
 
ConFoo Montreal - Microservices for building an IDE - The innards of JetBrain...
ConFoo Montreal - Microservices for building an IDE - The innards of JetBrain...ConFoo Montreal - Microservices for building an IDE - The innards of JetBrain...
ConFoo Montreal - Microservices for building an IDE - The innards of JetBrain...
 
ConFoo Montreal - Approaches for application request throttling
ConFoo Montreal - Approaches for application request throttlingConFoo Montreal - Approaches for application request throttling
ConFoo Montreal - Approaches for application request throttling
 
Microservices for building an IDE – The innards of JetBrains Rider - TechDays...
Microservices for building an IDE – The innards of JetBrains Rider - TechDays...Microservices for building an IDE – The innards of JetBrains Rider - TechDays...
Microservices for building an IDE – The innards of JetBrains Rider - TechDays...
 
JetBrains Day Seoul - Exploring .NET’s memory management – a trip down memory...
JetBrains Day Seoul - Exploring .NET’s memory management – a trip down memory...JetBrains Day Seoul - Exploring .NET’s memory management – a trip down memory...
JetBrains Day Seoul - Exploring .NET’s memory management – a trip down memory...
 
DotNetFest - Let’s refresh our memory! Memory management in .NET
DotNetFest - Let’s refresh our memory! Memory management in .NETDotNetFest - Let’s refresh our memory! Memory management in .NET
DotNetFest - Let’s refresh our memory! Memory management in .NET
 
VISUG - Approaches for application request throttling
VISUG - Approaches for application request throttlingVISUG - Approaches for application request throttling
VISUG - Approaches for application request throttling
 

Recently uploaded

Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
Jakub Marek
 
Y-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PPY-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PP
c5vrf27qcz
 
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
Edge AI and Vision Alliance
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
Chart Kalyan
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
Tomaz Bratanic
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
Zilliz
 
WeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation TechniquesWeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation Techniques
Postman
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Tosin Akinosho
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
panagenda
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
Jason Packer
 
JavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green MasterplanJavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green Masterplan
Miro Wengner
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
Ivanti
 
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying AheadDigital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Wask
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
Zilliz
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
Pixlogix Infotech
 
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
Jason Yip
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
tolgahangng
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
DanBrown980551
 
GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)
Javier Junquera
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc
 

Recently uploaded (20)

Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
 
Y-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PPY-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PP
 
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
 
WeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation TechniquesWeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation Techniques
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
 
JavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green MasterplanJavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green Masterplan
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
 
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying AheadDigital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying Ahead
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
 
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
 
GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
 

PHP And Silverlight - DevDays session

  • 1. PHP and Silverlight LEVEL 200 Maarten Balliauw & Kevin Dockx RealDolmen
  • 2. Who are we? Maarten Balliauw – RealDolmen Kevin Dockx – RealDolmen E-mail: E-mail: maarten.balliauw@realdolmen.com kevin.dockx@realdolmen.com Blog: Blog: http://blog.maartenballiauw.be http://kevindockx.blogspot.com Twitter: http://twitter.com/maartenballiauw June 1, 2009 PHP and Silverlight 2
  • 3. Agenda • What is Silverlight? • Why Silverlight? • Why Silverlight and PHP? • Building an application using both • More on Silverlight • Q&A June 1, 2009 PHP and Silverlight 3
  • 4. What is Silverlight? • Rich Applications are the future, today – Adobe Flex – Microsoft Silverlight • Silverlight – “A framework for providing rich applications to the browser” – “A cross-browser, cross-platform implementation of the .NET Framework for building and delivering the next generation of Rich Internet Applications for the web” June 1, 2009 PHP and Silverlight 4
  • 5. What is Silverlight? • 4-5 MB plugin – Download once, distributed through Windows Update – Also available on Linux (Moonlight) and Mac • Runs in browser, on the client – Internet Explorer – Firefox, Safari, Opera, Chrome • Subset of the full .NET Framework – Originated from Windows Presentation Foundation • Rich UI: XAML / .NET code: C# - VB.NET June 1, 2009 PHP and Silverlight 5
  • 6. Why Silverlight? • HTML / PHP / ASPX / AJAX – Best days are over… – Extending HTML (CSS 3, AJAX, …) – “like putting lipstick on a pig” • Silverlight – Stateful model – .NET Framework – UI Capabilities – Cross-platform June 1, 2009 PHP and Silverlight 6
  • 7. Why Silverlight and PHP? • Best of both worlds? • PHP – Rapid application programming – Ideal as back-end using JSON or SOAP – Re-use your existing PHP logic • Silverlight – Rapid user interface development – Create rich interfaces using a rich framework June 1, 2009 PHP and Silverlight 7
  • 8. Programming Silverlight • XAML – “an XML file that defines user interfaces” – Tool: Expression Blend (or Eclipse) • .NET – Rich framework offering endless possibilities – Tool: Microsoft Visual Studio (2008, .NET 3.5, SP1) (or Eclipse) • PHP – i.e. Zend Framework – Tool: Zend Studio (or Eclipse PDT)  Strong separation of UI design & logic June 1, 2009 PHP and Silverlight 8
  • 9. Getting started • Visual Studio 2008 SP1 • Silverlight Tools for VS2008 SP1 – VS2008 Updates – Project Templates – Runtime – SDK • Expression Blend 2.0 SP1 • Possibility: Eclipse4SL - http://www.eclipse4sl.org/ June 1, 2009 PHP and Silverlight 9
  • 10. • Under active development (ongoing) • Catching up Visual Studio 2008 Silverlight editing possibilities – But just like VS2008: still not the rich designer that Expression Blend is… • Currently Win & Mac • Next milestone: full SL debugging http://www.eclipse4sl.org June 1, 2009 PHP and Silverlight 10
  • 11. Why Eclipse4SL? • Allows Eclipse developers to build Eclipse Developer RIA with Silverlight • Allows Collaboration between – Web Designers Common Project – .NET Developers System Web – Eclipse Developers .NET Developer Designer (Java, PHP, ..) June 1, 2009 PHP and Silverlight 11
  • 12. Editing a Silverlight Solution DEMO June 1, 2009 PHP and Silverlight 12
  • 13. What about my data? • Silverlight does not include data namespaces (client tech)! • For most apps, this forces you to use a Service Oriented Architecture June 1, 2009 PHP and Silverlight 15
  • 14. Communicating (with data services) • Silverlight includes support for – WebClient, WebHttpRequest-classes – REST, JSON, SOAP, … – Windows Communication Foundation – … almost any kind of service can be accessed • Preferred way to communicate: through WCF – BasicHttpBinding June 1, 2009 PHP and Silverlight 16
  • 15. Zend Framework SOAP • Not 100% compatible WS-I Basic Profile 1.1  – http://www.ws-i.org/Profiles/BasicProfile-1.1-2004-08-24.html • WCF supports the ZF implementation • Silverlight doesn’t: subset of WCF • SOAP service should be possible with NuSOAP • Solution we used: JSON June 1, 2009 PHP and Silverlight 17
  • 16. Communicating with JSON-service • CrossDomain.xml / ClientAccessPolicy.xml – Tells SL it/who can access the service • Use WebClient • Add handler to completed event • Call service method (Async) June 1, 2009 PHP and Silverlight 18
  • 17. {Liquify} your brain BarTender - Communicating with service DEMO June 1, 2009 PHP and Silverlight 19
  • 18. BarTender - Communicating with service DEMO June 1, 2009 PHP and Silverlight 20
  • 19. Keywords when working with data • DataContext • DataBinding • INotifyPropertyChanged/CollectionChanged • ValueConverters June 1, 2009 PHP and Silverlight 21
  • 20. What else is there? • Localization • Isolated Storage June 1, 2009 PHP and Silverlight 30
  • 21. Resources: Silverlight Toolkit • Contains controls, components, utilities to use in SL apps (MS, source available) – AutoCompleteBox, different Panel controls, UpDown control, Treeview, Expander, … – Charting component – ImplicitStyleManager – Various themes included • http://www.codeplex.com/Silverlight June 1, 2009 PHP and Silverlight 31
  • 22. Resources: Blacklight • Contains components to use in SL apps, focussed on design (3rd party, source available) – Glass, DropShadow, InnerGlow, OuterGlow, Perspective Shadow, Radial Shadow Border – DragDrop Panel, Animated Layout Panel • http://www.codeplex.com/Blacklight June 1, 2009 PHP and Silverlight 32
  • 23. Resources • http://silverlight.net/ • http://codeplex.com/Silverlight • http://codeplex.com/Blacklight • http://silverlightdragdrop.codeplex.com June 1, 2009 PHP and Silverlight 33
  • 24. Questions and Answers June 1, 2009 PHP and Silverlight 34
  • 25. Next steps… • Since we are last today… • Go grab a beer! • Pay us a beer!  • Enjoy your day and weekend! June 1, 2009 PHP and Silverlight 35

Editor's Notes

  1. Intro: ieder stelt zichzelf voor 
  2. Talk: Kev
  3. Talk: begin, MaartenTalk: vanaf tweede bolleke: KevinRichapp: UI, look, feel, think out of the box of whatnormalappscan do, branding, user friendly, ups productivity
  4. Talk: KevMaarten: Q: What’sthis WPF thing?Kev A: It’s a graphicalsubsystem, part of the .NET 3.0 framework, whichuses XAML todeveloprich user interfaces. It’s the de factosuccessor of Windows Forms.Moonlight: 2.0 in betanow, includes 3.0 features
  5. Talk: Kev(grapje PHP )Beste tijd gehad: stateless model, steeds state doorgeven (viewstate) of werken met session. AJAX al beter, maar: te traag indien veelvuldig gebruikt wegens javascript. Al bij al: like putting lipstick on a pig. SL: stateful, gelijkaardig aan windows-programming; UI: XAML, quasi onbeperkt in UI design, mogelijkheden, transformatiesCompatibility: plugin voor IE, Firefox, Safari, Opera, Chrome, op Windows, Mac, Linux (Moonlight)
  6. Talk: Maarten(grapje Silverlight)  W2K8 server pricing 
  7. Talk: KevTalk: Maarten (PHP punt)Strong separation of UI design & logic
  8. Talk: Kev / Maarten
  9. Talk: Maarten
  10. Talk: Maarten
  11. Demo: MaartenCreate SL in VS, switch naar Eclipse (omgekeerd niet ideaal, want dan wordt er geen solution file aangemaakt) Open SL solutionusing Eclipse4SLQuickly show peoplearound Openen in Visual Studio (rechtsklik op SL-project, open in VS, maar )Kev neemt over, toont basiclayouting, VS2008, BlendSwitch to VS2008 and Blendfor the real stuffMaarten: Q: Can I host thison a PHP page?  even code laten zin in HTML waar je een SL appembed
  12. Talk: KevKev: usecreated demo solution, usehtml-pagefor host, tellthismight as wellbe a php-page
  13. Talk: KevKev: in newsolution, add a few borders, add a few buttons, style ‘emusingblend, animate the borders in.
  14. Talk:Kev
  15. Talk: KevTalk: Maarten legt WCF uit
  16. Talk: Maarten-SOAP must comply to the WS-I Basic Profile 1.1 standardfor SL-What is JSON?
  17. Talk: KevMaarten: Q: Why these files? (security, cross-domainaccess, … de dingen die je bij ajaxdevelopment ook tegenkomt – (bij ajax, ook geen cross domain calls))Kev: A: These files willdefinewhocanaccessyour service, and thusallow cross domain calls (crossdomain komt van flash)Kev: stress thatthis is just ONE WAY of communicatingwith services from SL
  18. DEMOMaarten:Creating a JSON service in PHP using Zend Framework /AddCrossDomain/ClientAccessPolicyKev:Consuming the service in SilverlightCall Service Method
  19. FF mensen de kans geven om hun dorst te lessen  (nvdr: NIET de zaal verlaten, WEL bestellen via onze site ;-))
  20. Begin:so, you’veseenitwork, now: what’sunder the cover? Diveinto the SL programming modelVolgende slides: tonen in code, belangrijke zaken overlopen, en dan terug naar de slidesTalk: Kev
  21. Talk: Kev
  22. Talk: Kev
  23. Talk: KevMaarten: Q: Thisbasicallymeansthatwhenever data changes, myapplicationwillautomaticallyknow?Kev: A: yup, SL controlsautomaticallyhandle the NotifyPropertyChangedeventwhenfired to update their UI ifneeded
  24. Talk: Kev