Open Source -til velsignelse og/eller forbannelse!?
description
Transcript of Open Source -til velsignelse og/eller forbannelse!?
![Page 1: Open Source -til velsignelse og/eller forbannelse!?](https://reader030.fdocuments.us/reader030/viewer/2022020322/5681516e550346895dbfa0cf/html5/thumbnails/1.jpg)
Open SourceOpen Source-til velsignelse og/eller -til velsignelse og/eller
forbannelse!?forbannelse!?
![Page 3: Open Source -til velsignelse og/eller forbannelse!?](https://reader030.fdocuments.us/reader030/viewer/2022020322/5681516e550346895dbfa0cf/html5/thumbnails/3.jpg)
IKT Grenland”Åpen, blid og skapende”
![Page 4: Open Source -til velsignelse og/eller forbannelse!?](https://reader030.fdocuments.us/reader030/viewer/2022020322/5681516e550346895dbfa0cf/html5/thumbnails/4.jpg)
![Page 5: Open Source -til velsignelse og/eller forbannelse!?](https://reader030.fdocuments.us/reader030/viewer/2022020322/5681516e550346895dbfa0cf/html5/thumbnails/5.jpg)
The RAD Ajax Framework For ASP.NET
• Gaia Ajax is an Open Source RAD Ajax Framework for ASP.NET that eases the development of dynamic web applications. Gaia abstracts away JavaScript and allows you to write everything in .NET managed code like C# and VB.NET.
• Gaia Ajax is available under Dual Licensing– GPL & Commercial license
![Page 6: Open Source -til velsignelse og/eller forbannelse!?](https://reader030.fdocuments.us/reader030/viewer/2022020322/5681516e550346895dbfa0cf/html5/thumbnails/6.jpg)
Kunder
![Page 7: Open Source -til velsignelse og/eller forbannelse!?](https://reader030.fdocuments.us/reader030/viewer/2022020322/5681516e550346895dbfa0cf/html5/thumbnails/7.jpg)
Åpenhet = risiko
• Sikkerhetsnettet = lisenser, avtaler
![Page 8: Open Source -til velsignelse og/eller forbannelse!?](https://reader030.fdocuments.us/reader030/viewer/2022020322/5681516e550346895dbfa0cf/html5/thumbnails/8.jpg)
Tunga rett i munnMIT BSD GPL LGPL AGPL Creative
CommonsPrises X X X X X (X)
Brukes fritt (endres, inngå i kommersielle)
X1 X X2 X
Låst til samme lisens X X (X)
Kan lukkes X X X3 X
Oppgi kilde/eier X X X
Kan modifiseres X4 X4 X4 X4
X1 Ikke reklameX2 Hvis ikke-distribusjon X3 Ikke neste leddX4 Må publiseres tilbake
![Page 9: Open Source -til velsignelse og/eller forbannelse!?](https://reader030.fdocuments.us/reader030/viewer/2022020322/5681516e550346895dbfa0cf/html5/thumbnails/9.jpg)
Åpenhet = tillit
I
• Selv åpenhet om feil og mangler!
![Page 10: Open Source -til velsignelse og/eller forbannelse!?](https://reader030.fdocuments.us/reader030/viewer/2022020322/5681516e550346895dbfa0cf/html5/thumbnails/10.jpg)
Åpenhet = primærbehov
• ”Jag trivs besti öppnalandskap”
![Page 11: Open Source -til velsignelse og/eller forbannelse!?](https://reader030.fdocuments.us/reader030/viewer/2022020322/5681516e550346895dbfa0cf/html5/thumbnails/11.jpg)
Åpenhet = kvalitet
• Vi vil se hvordan det er laget, ikke bare hvordan det virker
I
![Page 12: Open Source -til velsignelse og/eller forbannelse!?](https://reader030.fdocuments.us/reader030/viewer/2022020322/5681516e550346895dbfa0cf/html5/thumbnails/12.jpg)
Åpenhet = læring
• Tør du vise fram koden din, får du gode råd
I
![Page 13: Open Source -til velsignelse og/eller forbannelse!?](https://reader030.fdocuments.us/reader030/viewer/2022020322/5681516e550346895dbfa0cf/html5/thumbnails/13.jpg)
Åpenhet = innovasjon
• Innovasjonforutsetterat noeuventet inntreffer
• Det vil overraske deg hvem som bidrar
![Page 14: Open Source -til velsignelse og/eller forbannelse!?](https://reader030.fdocuments.us/reader030/viewer/2022020322/5681516e550346895dbfa0cf/html5/thumbnails/14.jpg)
Takk for meg!
• og det vil ikke overraske meg om du har funnet feil og mangler i presentasjonen min. Det er jeg glad for! -hvis du vil dele dem med meg:
Skype: baard.stranheim
tel: 908 85 035
![Page 15: Open Source -til velsignelse og/eller forbannelse!?](https://reader030.fdocuments.us/reader030/viewer/2022020322/5681516e550346895dbfa0cf/html5/thumbnails/15.jpg)
Architecture Diagram
Gaia Ajax CoreAjaxManager, Ajax Building Blocks, ResponseFilters, Attributes, State Managers
ASP.NET 2.0.NET Framework 2.0 and higher. Works in most environments including SharePoint, EpiServer, DotNetNuke, Umbraco, etc ...
AspectsDraggable, Resizable, Key,
Droppable, Hoverable
EffectsHide, Show, Move, Shake,
Appear, BlindDown
UtilsXhtmlTextWriter, TagFactory,
CssUtils
Advanced ControlsTreeView, Window, TabControl, Calendar, Accordion
Basic ControlsLabel, Linkbutton, Image, Checkbox
I
![Page 16: Open Source -til velsignelse og/eller forbannelse!?](https://reader030.fdocuments.us/reader030/viewer/2022020322/5681516e550346895dbfa0cf/html5/thumbnails/16.jpg)
Architecture• Most controls are inherited from the built-in ASP.NET
controls, except when– The base control is poorly implemented– It doesn’t make sense to create the control
• (ie. Validators)
• Ajax is built directly into the controls• Serializes method calls to client side objects instead of
re-rendered markup. Keeping state on the client.• Advanced controls are built on top of the basic building
blocks– Dogfooding base controls increases product quality
![Page 17: Open Source -til velsignelse og/eller forbannelse!?](https://reader030.fdocuments.us/reader030/viewer/2022020322/5681516e550346895dbfa0cf/html5/thumbnails/17.jpg)
![Page 18: Open Source -til velsignelse og/eller forbannelse!?](https://reader030.fdocuments.us/reader030/viewer/2022020322/5681516e550346895dbfa0cf/html5/thumbnails/18.jpg)
Key Point
$G('ctl00_ctl00_ContentPlaceHolder1_ContentPlaceHolder1_Label1').setForeColor('006400,255').setText('50');
Gaia serializes method calls to the client instead of innerHTML
![Page 19: Open Source -til velsignelse og/eller forbannelse!?](https://reader030.fdocuments.us/reader030/viewer/2022020322/5681516e550346895dbfa0cf/html5/thumbnails/19.jpg)
Seamless integration
![Page 20: Open Source -til velsignelse og/eller forbannelse!?](https://reader030.fdocuments.us/reader030/viewer/2022020322/5681516e550346895dbfa0cf/html5/thumbnails/20.jpg)
Advanced controls are built using the base controls
![Page 21: Open Source -til velsignelse og/eller forbannelse!?](https://reader030.fdocuments.us/reader030/viewer/2022020322/5681516e550346895dbfa0cf/html5/thumbnails/21.jpg)
High code quality and consistencyCreate enterprise applications purely in managed code. No javascript is needed.
![Page 22: Open Source -til velsignelse og/eller forbannelse!?](https://reader030.fdocuments.us/reader030/viewer/2022020322/5681516e550346895dbfa0cf/html5/thumbnails/22.jpg)
Compatibility
![Page 23: Open Source -til velsignelse og/eller forbannelse!?](https://reader030.fdocuments.us/reader030/viewer/2022020322/5681516e550346895dbfa0cf/html5/thumbnails/23.jpg)
A suite of 30+ controls for ASP.NET
![Page 24: Open Source -til velsignelse og/eller forbannelse!?](https://reader030.fdocuments.us/reader030/viewer/2022020322/5681516e550346895dbfa0cf/html5/thumbnails/24.jpg)
IGoogle Sample
![Page 25: Open Source -til velsignelse og/eller forbannelse!?](https://reader030.fdocuments.us/reader030/viewer/2022020322/5681516e550346895dbfa0cf/html5/thumbnails/25.jpg)
VS.NET 2005 and 2008 Integration
![Page 26: Open Source -til velsignelse og/eller forbannelse!?](https://reader030.fdocuments.us/reader030/viewer/2022020322/5681516e550346895dbfa0cf/html5/thumbnails/26.jpg)
Best practice DOM/CSS
• All extended controls are written using best practice DOM/CSS.
• Custom XhtmlTextWriter ensures 100% valid markup
![Page 27: Open Source -til velsignelse og/eller forbannelse!?](https://reader030.fdocuments.us/reader030/viewer/2022020322/5681516e550346895dbfa0cf/html5/thumbnails/27.jpg)
TreeView DOM
![Page 28: Open Source -til velsignelse og/eller forbannelse!?](https://reader030.fdocuments.us/reader030/viewer/2022020322/5681516e550346895dbfa0cf/html5/thumbnails/28.jpg)
TreeView CSS
![Page 29: Open Source -til velsignelse og/eller forbannelse!?](https://reader030.fdocuments.us/reader030/viewer/2022020322/5681516e550346895dbfa0cf/html5/thumbnails/29.jpg)
Source and Documentation
• Source code included • Fully documented
![Page 30: Open Source -til velsignelse og/eller forbannelse!?](https://reader030.fdocuments.us/reader030/viewer/2022020322/5681516e550346895dbfa0cf/html5/thumbnails/30.jpg)
Debugging• Server is extremly easy to debug directly in Visual
Studio.NET• Client can sometimes be harder to debug and firebug
is a must. – Read XHR responses and requests– DOM inspection– Javascript debugging
• What usually goes wrong?– Control not in Controlcollection– Control doesn’t have ID– ReRendering Abuse– Aspects collision
![Page 31: Open Source -til velsignelse og/eller forbannelse!?](https://reader030.fdocuments.us/reader030/viewer/2022020322/5681516e550346895dbfa0cf/html5/thumbnails/31.jpg)
![Page 32: Open Source -til velsignelse og/eller forbannelse!?](https://reader030.fdocuments.us/reader030/viewer/2022020322/5681516e550346895dbfa0cf/html5/thumbnails/32.jpg)
FirebugThe best client debugger available
![Page 33: Open Source -til velsignelse og/eller forbannelse!?](https://reader030.fdocuments.us/reader030/viewer/2022020322/5681516e550346895dbfa0cf/html5/thumbnails/33.jpg)
Join the CommunityVisit http://gaiaware.net
Community | Documentation | Tutorials | Blogs | Forum | Samples
![Page 34: Open Source -til velsignelse og/eller forbannelse!?](https://reader030.fdocuments.us/reader030/viewer/2022020322/5681516e550346895dbfa0cf/html5/thumbnails/34.jpg)
Create highly interactive Web Apps
This application was created in a few hours with less than 200 lines of code
![Page 35: Open Source -til velsignelse og/eller forbannelse!?](https://reader030.fdocuments.us/reader030/viewer/2022020322/5681516e550346895dbfa0cf/html5/thumbnails/35.jpg)
Extending Gaia
• Inheritance– GaiaControl, GaiaWebControl
• Composition– Autocompleter, DateTimePicker, Accordion
• Container Composition– Window, ExtendedPanel
• Custom Extension w/ javascript file– Calendar, InPlaceEdit, Toolbar
![Page 36: Open Source -til velsignelse og/eller forbannelse!?](https://reader030.fdocuments.us/reader030/viewer/2022020322/5681516e550346895dbfa0cf/html5/thumbnails/36.jpg)
Inheritance
• Inherit from any control that implements IAjaxControl
![Page 37: Open Source -til velsignelse og/eller forbannelse!?](https://reader030.fdocuments.us/reader030/viewer/2022020322/5681516e550346895dbfa0cf/html5/thumbnails/37.jpg)
Composition
![Page 38: Open Source -til velsignelse og/eller forbannelse!?](https://reader030.fdocuments.us/reader030/viewer/2022020322/5681516e550346895dbfa0cf/html5/thumbnails/38.jpg)
Container Composition
• Inherit from HybridPanelBase• Add composite controls to
CompositionControls collection
![Page 39: Open Source -til velsignelse og/eller forbannelse!?](https://reader030.fdocuments.us/reader030/viewer/2022020322/5681516e550346895dbfa0cf/html5/thumbnails/39.jpg)
Custom Extensions
• Easily create custom extension controls– Attach .js files that will be dynamically included– Map Server To Client methods and viceversa– Managed XhtmlTextWriter for ensured xhtml
![Page 40: Open Source -til velsignelse og/eller forbannelse!?](https://reader030.fdocuments.us/reader030/viewer/2022020322/5681516e550346895dbfa0cf/html5/thumbnails/40.jpg)
Include scripts and initialize control
![Page 41: Open Source -til velsignelse og/eller forbannelse!?](https://reader030.fdocuments.us/reader030/viewer/2022020322/5681516e550346895dbfa0cf/html5/thumbnails/41.jpg)
Send properties from server to client
![Page 42: Open Source -til velsignelse og/eller forbannelse!?](https://reader030.fdocuments.us/reader030/viewer/2022020322/5681516e550346895dbfa0cf/html5/thumbnails/42.jpg)
Calling methods from client
![Page 43: Open Source -til velsignelse og/eller forbannelse!?](https://reader030.fdocuments.us/reader030/viewer/2022020322/5681516e550346895dbfa0cf/html5/thumbnails/43.jpg)
Familar concepts
![Page 44: Open Source -til velsignelse og/eller forbannelse!?](https://reader030.fdocuments.us/reader030/viewer/2022020322/5681516e550346895dbfa0cf/html5/thumbnails/44.jpg)
TabControl
![Page 45: Open Source -til velsignelse og/eller forbannelse!?](https://reader030.fdocuments.us/reader030/viewer/2022020322/5681516e550346895dbfa0cf/html5/thumbnails/45.jpg)
Window
![Page 46: Open Source -til velsignelse og/eller forbannelse!?](https://reader030.fdocuments.us/reader030/viewer/2022020322/5681516e550346895dbfa0cf/html5/thumbnails/46.jpg)
TreeView
![Page 47: Open Source -til velsignelse og/eller forbannelse!?](https://reader030.fdocuments.us/reader030/viewer/2022020322/5681516e550346895dbfa0cf/html5/thumbnails/47.jpg)
AutoCompleter
![Page 48: Open Source -til velsignelse og/eller forbannelse!?](https://reader030.fdocuments.us/reader030/viewer/2022020322/5681516e550346895dbfa0cf/html5/thumbnails/48.jpg)
ASP.NET GridView Ajaxified
![Page 49: Open Source -til velsignelse og/eller forbannelse!?](https://reader030.fdocuments.us/reader030/viewer/2022020322/5681516e550346895dbfa0cf/html5/thumbnails/49.jpg)
Toolbar/Menu
![Page 50: Open Source -til velsignelse og/eller forbannelse!?](https://reader030.fdocuments.us/reader030/viewer/2022020322/5681516e550346895dbfa0cf/html5/thumbnails/50.jpg)
Accordion w/ExtendedPanels
![Page 51: Open Source -til velsignelse og/eller forbannelse!?](https://reader030.fdocuments.us/reader030/viewer/2022020322/5681516e550346895dbfa0cf/html5/thumbnails/51.jpg)
Transparent Development