Title: Open Source -til velsignelse og/eller forbannelse!?
1Open Source-til velsignelse og/eller
forbannelse!?
2Bård StranheimDagli Gleder
- 15 år i Hydro
- 7 år i Gatsoft
- 1 år i Gaiaware
bs_at_iktgrenland.no
3 IKT Grenland Åpen, blid og skapende
4(No Transcript)
5The 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
6Kunder
7Åpenhet risiko
- Sikkerhetsnettet lisenser, avtaler
8Tunga rett i munn
MIT BSD GPL LGPL AGPL Creative Commons
Prises 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 reklame X2 Hvis ikke-distribusjon X3
Ikke neste ledd X4 Må publiseres tilbake
9Åpenhet tillit
- Selv åpenhet om feil og mangler!
I
10Åpenhet primærbehov
- Jag trivs besti öppnalandskap
11Åpenhet kvalitet
- Vi vil se hvordan det er laget, ikke bare
hvordan det virker
I
12Åpenhet læring
- Tør du vise fram koden din, får du gode råd
I
13Åpenhet innovasjon
- Innovasjonforutsetterat noeuventet
inntreffer - Det vil overraske deg hvem som bidrar
14Takk 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 bs_at_iktgrenland.no Skype
baard.stranheim tel 908 85 035
15Architecture Diagram
I
16Architecture
- Most controls are inherited from the built-in
ASP.NET controls, except when - The base control is poorly implemented
- It doesnt 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
17(No Transcript)
18Key Point
Gaia serializes method calls to the client
instead of innerHTML
G('ctl00_ctl00_ContentPlaceHolder1_ContentPlaceHo
lder1_Label1') .setForeColor('006400,255') .setTex
t('50')
19Seamless integration
20Advanced controls are built using the base
controls
LinkButtons
Label
AspectDraggable
AspectResizable
21High code quality and consistency
Create enterprise applications purely in managed
code. No javascript is needed.
22Compatibility
23A suite of 30 controls for ASP.NET
24IGoogle Sample
25VS.NET 2005 and 2008 Integration
26Best practice DOM/CSS
- All extended controls are written using best
practice DOM/CSS. - Custom XhtmlTextWriter ensures 100 valid markup
27TreeView DOM
28TreeView CSS
29Source and Documentation
30Debugging
- 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 doesnt have ID
- ReRendering Abuse
- Aspects collision
31(No Transcript)
32FirebugThe best client debugger available
33Join the Community
Visit http//gaiaware.net Community
Documentation Tutorials Blogs Forum
Samples
34Create highly interactive Web Apps
- This application was created in a few hours with
less than 200 lines of code
35Extending Gaia
- Inheritance
- GaiaControl, GaiaWebControl
- Composition
- Autocompleter, DateTimePicker, Accordion
- Container Composition
- Window, ExtendedPanel
- Custom Extension w/ javascript file
- Calendar, InPlaceEdit, Toolbar
36Inheritance
- Inherit from any control that implements
IAjaxControl
37Composition
38Container Composition
- Inherit from HybridPanelBase
- Add composite controls to CompositionControls
collection
39Custom 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
40Include scripts and initialize control
41Send properties from server to client
42Calling methods from client
43Familar concepts
44TabControl
45Window
46TreeView
47AutoCompleter
48ASP.NET GridView Ajaxified
49Toolbar/Menu
50Accordion w/ExtendedPanels
51Transparent Development