SlideShare uma empresa Scribd logo
1 de 26
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

Mais conteúdo relacionado

Mais procurados

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 flutterRobertLe30
 
Flutter overview - advantages & disadvantages for business
Flutter overview - advantages & disadvantages for businessFlutter overview - advantages & disadvantages for business
Flutter overview - advantages & disadvantages for businessBartosz 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 developmentSolution Analysts
 
Getting started with flutter
Getting started with flutterGetting started with flutter
Getting started with flutterrihannakedy
 
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 BeginnersJiaxuan Lin
 
The magic of flutter
The magic of flutterThe magic of flutter
The magic of flutterShady 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
 
Hybrid application development
Hybrid application developmentHybrid application development
Hybrid application developmentKnoldus 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 DartHarshith Keni
 
Hybrid App Development, Redefined
Hybrid App Development, RedefinedHybrid App Development, Redefined
Hybrid App Development, RedefinedIonic Framework
 
Intro to Flutter
Intro to FlutterIntro to Flutter
Intro to FlutterEason Pai
 
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 hassleIonic 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 CapacitorIonic Framework
 

Mais procurados (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
 

Destaque

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 AzureMaarten 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 meetingMaarten 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 cloudyMaarten Balliauw
 
Introduction to ASP.NET MVC
Introduction to ASP.NET MVCIntroduction to ASP.NET MVC
Introduction to ASP.NET MVCMaarten Balliauw
 

Destaque (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
 

Semelhante a PHP And Silverlight - DevDays session

PHP konferencija - Microsoft
PHP konferencija - MicrosoftPHP konferencija - Microsoft
PHP konferencija - Microsoftnusmas
 
Apache Flex and the imperfect Web
Apache Flex and the imperfect WebApache Flex and the imperfect Web
Apache Flex and the imperfect Webmasuland
 
Apache Flex: Overview
Apache Flex: OverviewApache Flex: Overview
Apache Flex: OverviewTarun 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 ItVenketash (Pat) Ramadass
 
Introduction to Microsoft Silverlight
Introduction to Microsoft SilverlightIntroduction to Microsoft Silverlight
Introduction to Microsoft SilverlightGlen Gordon
 
Uncovering Windows - Silverlight Seminar
Uncovering Windows - Silverlight SeminarUncovering Windows - Silverlight Seminar
Uncovering Windows - Silverlight SeminarAbram John Limpin
 
It's Time for Silverlight @iRajLal
It's Time for Silverlight @iRajLalIt's Time for Silverlight @iRajLal
It's Time for Silverlight @iRajLalRaj Lal
 
Aspnet2.0 Introduction
Aspnet2.0 IntroductionAspnet2.0 Introduction
Aspnet2.0 IntroductionChanHan Hy
 
Rongde Qiu-DDsmile-2015.1.25
Rongde Qiu-DDsmile-2015.1.25Rongde Qiu-DDsmile-2015.1.25
Rongde Qiu-DDsmile-2015.1.25Rongde Qiu
 
Chris Wilson @ FOWA Feb 07
Chris Wilson @ FOWA Feb 07Chris Wilson @ FOWA Feb 07
Chris Wilson @ FOWA Feb 07carsonsystems
 
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 ComparisonOliver 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 2014FalafelSoftware
 
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 PlatformSébastien Morel
 
Ria Applications And PHP
Ria Applications And PHPRia Applications And PHP
Ria Applications And PHPJohn Coggeshall
 
AN INTRODUCTION TO APACHE FLEX
AN INTRODUCTION TO APACHE FLEXAN INTRODUCTION TO APACHE FLEX
AN INTRODUCTION TO APACHE FLEXJoseph Labrecque
 
JS digest, March 2017
JS digest, March 2017JS digest, March 2017
JS digest, March 2017ElifTech
 

Semelhante a 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
 

Mais de 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.pptxMaarten 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 SpaceMaarten 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 SearchMaarten 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 PolandMaarten 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 - dotNetCologneMaarten 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 laneMaarten 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 throttlingMaarten 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 .NETMaarten Balliauw
 
VISUG - Approaches for application request throttling
VISUG - Approaches for application request throttlingVISUG - Approaches for application request throttling
VISUG - Approaches for application request throttlingMaarten Balliauw
 

Mais de 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
 

Último

Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 

Último (20)

Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 

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

Notas do Editor

  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