seaside - past, present and future

109
Seaside Lukas Renggli www.lukas-renggli.ch

Upload: lukas-renggli

Post on 09-May-2015

5.562 views

Category:

Technology


0 download

DESCRIPTION

Seaside does different to what is considered as best practices for Web development. It breaks with common best practices for Web development, such as to share as little state as possible, use clean and carefully chosen URLs, and use templates to separate model and presentation. This talk will give a short introduction to a Web framework that is different by design. It will demonstrate what can be won when breaking the common patterns of Web development. Moreover it presents how Seaside integrates with the latest technologies such as AJAX and Comet.

TRANSCRIPT

Page 1: Seaside - Past, Present and Future

SeasideLukas Renggli

www.lukas-renggli.ch

Page 2: Seaside - Past, Present and Future
Page 3: Seaside - Past, Present and Future
Page 4: Seaside - Past, Present and Future

What has happened

since ?

Page 5: Seaside - Past, Present and Future

What will happen

after ?

Page 6: Seaside - Past, Present and Future
Page 7: Seaside - Past, Present and Future
Page 8: Seaside - Past, Present and Future
Page 9: Seaside - Past, Present and Future
Page 10: Seaside - Past, Present and Future
Page 11: Seaside - Past, Present and Future
Page 12: Seaside - Past, Present and Future

Deprecated: Old Renderer

xhtml anchorWithCallback: [ self doIt ] text: 'click me'

Page 13: Seaside - Past, Present and Future

Default: Canvas Renderer

!html anchor callback: [ self doIt ]; with: 'click me'

Page 14: Seaside - Past, Present and Future

Seaside

2.7

Ph

oto

: J

en

ny R

ollo

, w

ww

.sxc

.hu

Page 15: Seaside - Past, Present and Future

Canvas API

for <head>

Page 16: Seaside - Past, Present and Future

Canvas API

for <head>

html meta name: 'generator'; content: 'Pier'

Page 17: Seaside - Past, Present and Future

Deprecation

Warning

Page 18: Seaside - Past, Present and Future

Deprecation

Warning

Page 19: Seaside - Past, Present and Future

File Library

Page 20: Seaside - Past, Present and Future

File Library

html stylesheet url: PRFileLibrary / #mainCss

Page 21: Seaside - Past, Present and Future

Bug FixesMany

Page 22: Seaside - Past, Present and Future

Seaside 2.7Released

February 2007

Page 23: Seaside - Past, Present and Future

Release TeamAvi Bryant

Lukas Renggli

Philippe Marschall

Michel Bany

Page 24: Seaside - Past, Present and Future

Widely adopted

as of today

Page 25: Seaside - Past, Present and Future
Page 26: Seaside - Past, Present and Future
Page 27: Seaside - Past, Present and Future

Web Site 2.0Released

July 2007

Page 29: Seaside - Past, Present and Future

Pier CMS

on top of

Seaside

Page 30: Seaside - Past, Present and Future

Interactive Examples

Page 32: Seaside - Past, Present and Future

DesignWeb 2.0

Page 33: Seaside - Past, Present and Future

designed by

Samuel MORELLO

Page 34: Seaside - Past, Present and Future
Page 35: Seaside - Past, Present and Future
Page 36: Seaside - Past, Present and Future
Page 37: Seaside - Past, Present and Future
Page 38: Seaside - Past, Present and Future
Page 39: Seaside - Past, Present and Future
Page 40: Seaside - Past, Present and Future
Page 41: Seaside - Past, Present and Future

Go

og

le A

na

lyti

cs

Page 42: Seaside - Past, Present and Future

0

100

200

300

400

500

600

700

800

Jul-1

1

Jul-1

8

Jul-2

5

Aug-1

Aug-8

Unique Visitors

Page 43: Seaside - Past, Present and Future
Page 44: Seaside - Past, Present and Future

Community

Ph

oto

: sp

ek

ula

tor,

ww

w.s

xc

.hu

Page 45: Seaside - Past, Present and Future

ContributorsMichel Bany, Torsten Bergmann, Hwee Boon Yar, Avi Bryant,

Cédrick Béler, Damien Cassou, Andrew Catton, Julian

Fitzell, Tony Garnock-Jones, William Harford, William

Harford, Keith Hodges, Göran Krampe, Pavel Krivanek,

Ramon Leon, Adrian Lienhard, Peter Macsadi, Philippe

Marschall, Samuel Morello, Boris Popov, Lukas Renggli,

Mike Roberts, Jason Rogers, Danie Roux, David Shaffer,

Anselm Strauss, Ron Teitelbaum, Diaz Trepat Ramiro

Page 46: Seaside - Past, Present and Future

0

100

200

300

400

500

600

700

Aug-0

6

Oct

-06

Dec

-06

Feb-0

7

Apr-07

Jun-

07

Aug-0

7

Mailing List Members

Page 47: Seaside - Past, Present and Future
Page 48: Seaside - Past, Present and Future

Hello tomorrow

Seaside 2.8

Ph

oto

: H

an

na

h B

oe

ttc

he

r, w

ww

.sxc

.hu

Page 49: Seaside - Past, Present and Future

Benchmarks

Ph

oto

: R

ap

ha

el C

ara

m,

ww

w.s

xc

.hu

Page 50: Seaside - Past, Present and Future

“Between 0 and 1 percent.”

“Has that ever been a problem?”

“No, never.”

-- Kent Beck

Page 51: Seaside - Past, Present and Future

Class Comments

Seaside 2.5 Seaside 2.6 Seaside 2.7 Seaside 2.80

50

100

150

200

250

300

350

179

29

254

41

247

39

Commented Uncommented

Page 52: Seaside - Past, Present and Future

Class Comments

Seaside 2.5 Seaside 2.6 Seaside 2.7 Seaside 2.80

50

100

150

200

250

300

350

179

29

254

41

247

39

207

99

Commented Uncommented

Page 53: Seaside - Past, Present and Future

Method Comments

Seaside 2.5 Seaside 2.6 Seaside 2.7 Seaside 2.80

500

1,000

1,500

2,000

2,500

3,000

3,500

1,757

45

2,870

181

2,807

182

Commented Uncommented

Page 54: Seaside - Past, Present and Future

Method Comments

Seaside 2.5 Seaside 2.6 Seaside 2.7 Seaside 2.80

500

1,000

1,500

2,000

2,500

3,000

3,500

1,757

45

2,870

181

2,807

182

2,564

400

Commented Uncommented

Page 55: Seaside - Past, Present and Future

Unit Tests

Seaside 2.5 Seaside 2.6 Seaside 2.7 Seaside 2.80

25

50

75

100

125

150

20

44 44

Page 56: Seaside - Past, Present and Future

Unit Tests

Seaside 2.5 Seaside 2.6 Seaside 2.7 Seaside 2.80

25

50

75

100

125

150

20

44 44

131

Page 57: Seaside - Past, Present and Future
Page 58: Seaside - Past, Present and Future

Memory Requirements

Seaside 2.5 Seaside 2.6 Seaside 2.7 Seaside 2.80 kB

50 kB

100 kB

150 kB

200 kB

250 kB

300 kB

170 kB

193 kB204 kB

Page 59: Seaside - Past, Present and Future

Memory Requirements

Seaside 2.5 Seaside 2.6 Seaside 2.7 Seaside 2.80 kB

50 kB

100 kB

150 kB

200 kB

250 kB

300 kB

170 kB

193 kB204 kB

48 kB

Page 60: Seaside - Past, Present and Future

Rendering Speed

Seaside 2.5 Seaside 2.6 Seaside 2.7 Seaside 2.80 ms

20 ms

40 ms

60 ms

80 ms

100 ms

120 ms

90 ms 90 ms94 ms

Page 61: Seaside - Past, Present and Future

Rendering Speed

Seaside 2.5 Seaside 2.6 Seaside 2.7 Seaside 2.80 ms

20 ms

40 ms

60 ms

80 ms

100 ms

120 ms

90 ms 90 ms94 ms

51 ms

Page 62: Seaside - Past, Present and Future
Page 63: Seaside - Past, Present and Future

What’s new?

Ph

oto

: N

AS

A, h

ttp

://w

ww

.na

s.n

asa

.go

v/A

bo

ut/

Ed

uc

ati

on

/Sp

ac

eS

ett

lem

en

t/70sA

rt/a

rt.h

tml

Page 64: Seaside - Past, Present and Future

Old Renderer

Page 65: Seaside - Past, Present and Future
Page 66: Seaside - Past, Present and Future

Development

Tool Plugins

Ph

oto

: D

ain

Hu

ble

y, w

ww

.sxc

.hu

Page 67: Seaside - Past, Present and Future

Toolbar

Page 68: Seaside - Past, Present and Future

Halos

Page 69: Seaside - Past, Present and Future
Page 70: Seaside - Past, Present and Future

Backtracking

of State

Ph

oto

: m

ari

use

ek

, w

ww

.sxc

.hu

Page 71: Seaside - Past, Present and Future

xOld Backtracking

initialize super initialize.

self session

registerObjectForBacktracking:

model

Page 72: Seaside - Past, Present and Future

New Backtracking

states ^ Array with: model!

Page 73: Seaside - Past, Present and Future

First-Class

URLs

Page 74: Seaside - Past, Present and Future
Page 75: Seaside - Past, Present and Future

Improved

Streaming

Page 76: Seaside - Past, Present and Future
Page 77: Seaside - Past, Present and Future

Seaside 2.8beta

Page 78: Seaside - Past, Present and Future

Seaside 2.8Today

30 August 2007

beta

Page 79: Seaside - Past, Present and Future

Code Freeze

Ph

oto

: K

riste

n P

ric

e,

ww

w.s

xc

.hu

Page 80: Seaside - Past, Present and Future

Final ReleaseComing Soon

Page 81: Seaside - Past, Present and Future

Availability

Ph

oto

: C

hri

s S

ch

au

flin

ge

r, w

ww

.sxc

.hu

Page 82: Seaside - Past, Present and Future

Squeak

Page 83: Seaside - Past, Present and Future

Squeak Kernel Image

new

Page 84: Seaside - Past, Present and Future

GemStone/S

new

Page 85: Seaside - Past, Present and Future

VisualWorks

official

Page 86: Seaside - Past, Present and Future

GNU Smalltalk

soon

Page 87: Seaside - Past, Present and Future

VisualAge Smalltalk© Copyright 2007 Instantiations, Inc. VA Smalltalk, VA Assist, WidgetKit, and WindowBuilder are trademarks of Instantiations. All other trademarks mentioned are the property of their respective owners.

www.instantiations.com 1-800-808-3737Build Quality Software

Development ToolsA rich set of development tools includes a debugger, browsers, inspectors, application builders, and a performance monitor.Packager (Dev Tool) creates a runtime image including only necessary classes resulting in a smaller footprint.AsyncCallout, an extension of the platform function API, allows developers to make a platform function call in a separate virtual machine thread.Reports feature enables the creation of hardcopy and/or screen reports on any object that can be used in the VA Smalltalk environment, including parts provided in the Database and Communications features.

Custom Controls Popular WidgetKit technologyColumnar List boxes, table widgets and hierarchical listsCustomizable image buttons, toggles and value setsVertical, horizontal and circular gaugesData aware spin buttonsWindows 95/98/NT/2000 Notebook widgetSplitbar widget

!

!

!

!

!

!

!

Communications A set of parts supports communication with other computers using MQ series transactions.A set of parts supports communication with other computers using TCP/IP protocols.Socket Communications Interface is an API providing full support for TCP/IP protocols, as well as secure communications using SSL. The API uses OpenSSL, an implementation of SSL/TLS.

Database High-performance, robust support for DB2Support for Oracle through v10Support for any database which supports the ODBC interface.

Server SmalltalkServer Smalltalk (SST) provides a client/server framework flexible enough to accommodate various distributed architectures.Server Workbench is a cross-development envi-ronment used in developing distributed process-ing, web hosting, and other server applications. Target deployment environments include all VA Smalltalk platforms and z/OS using IBM’s VisualAge Smalltalk Server for OS/390 and z/OS.

Web ServicesA self-contained, modular framework, capable of creating, deploying and hosting web services.

External Interface SupportXML Support enables XML–Smalltalk object mapping, includes a server interface via XML request handlers and reading of remote resources via TCP sockets using HTTP requestsOLE Support enables an application to use OLE clients and custom control services.Domino Connection allows an application to retrieve and work with Domino documents as well as access Notes mail system.

!

!

!

100% VisualAge compatibleVA Smalltalk is a modern software development environment that is 100% VisualAge compatible. VA Smalltalk enables developers to quickly construct applications that are portable, highly scalable, simple to maintain, and fit easily into existing infrastructures.

Other Software RequirementsDatabase

DB2 Universal Database (Windows, AIX, Linux, Solaris)ORACLE 8i (8.1.6), 9i or 10

DominoLotus Notes (Windows only) [Not supported on Linux, AIX, Solaris]

VA Smalltalk’s HTML DocumentationTCP/IP protocolMicrosoft Internet Explorer 5.0 or later (Windows)Netscape 4.51 or later (Win, Linux, Solaris, AIX)Firefox 2.0 or later (Win, Linux)Opera 9.02 or later (Windows)

!

!

!

!

!

!

!

!

!

EMSRV 7.1a Library ManagerNetware 4.2 or 5.1OS/2 Warp 4.0 + FP11OS/2 Warp Server for e-BusinessWindows ME - EMADMIN onlyWindows 2000, 2000 Server, Advanced ServerWindows XP ProfessionalWindows Server 2003Windows Vista Business, Enterprise, or UltimateSun Solaris Version 8 or 9HP-UX Version 11.0 or 11iAIX Version 5.1, 5.2 or 5.3Red Hat Linux 9 and Advance Server 2.1SuSE Enterprise 10

!

!

!

!

!

!

!

!

!

!

!

!

!

Supported ConfigurationsOperating System Hardware PlatformWindows ME, 2000, XP, Server 2003, Vista . . . . . . . . . . . . . . . 300MHz PC, 256MB RAM, 400MB diskRedHat Linux 9, Enterprise AS 2.1, SuSE Linux . . . . . . . . . . . Pentium 300MHz PC, 128MB RAM, 400MB diskSun Solaris 8, 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SPARC workstation or server, 64MB RAM, 200MB diskAIX 5.1, 5.2, 5.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . RISC System/6000, POWERStation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . or POWERServer, 128MB RAM, 400MB disk

For detailed system requirements visit www.instantiations.com/VAST

Download a risk-free trial copy:www.instantiations.com/VAST/download

Award-winning VA Assist™ technologyUniversal Drag/DropPowerful change propagation toolsCustomizable ToolbarsColor Code Syntax (Windows only)Dynamic & Batch-Oriented Spell CheckingAuto-Spell CorrectionVersion RenamingClass History/FindVersion TemplatesString SearchApplication Filtering

!

!

!

!

!

!

!

!

!

!

!

!

Enhanced DebuggerEnhanced InspectorsCode SynchronizationLocate ApplicationsLocate DependentsRevision NotesRelease All LatestAbbreviation ExpansionPopup Sender/ImplementorsBrowse Changes Including Required MapsEmbedded mode for seamless integration with the Composition Editor

!

!

!

!

!

!

!

!

!

!

!

Ergonomic Enhancements

next

release

Page 88: Seaside - Past, Present and Future

Dolphin Smalltalk

Page 89: Seaside - Past, Present and Future
Page 90: Seaside - Past, Present and Future

Success

Stories

Ph

oto

: To

ry B

yrn

e, w

ww

.sxc

.hu

Page 91: Seaside - Past, Present and Future
Page 92: Seaside - Past, Present and Future

Christoph Wysseier

CEO netstyle.ch

Page 94: Seaside - Past, Present and Future
Page 95: Seaside - Past, Present and Future

Future

Ph

oto

: D

an

Sh

irle

y, w

ww

.sxc

.hu

Page 96: Seaside - Past, Present and Future

Seaside 2.8

Page 97: Seaside - Past, Present and Future

Seaside 2.9

Page 98: Seaside - Past, Present and Future

Modularize Seaside

Page 99: Seaside - Past, Present and Future

Seaside

JavaScript

Web Server

Application Code

FCGI

Page 100: Seaside - Past, Present and Future

Web Server

Application Code

Seaside Application Server

Core TestsPlatform ...Examples JavaScript

FCGI

Page 101: Seaside - Past, Present and Future
Page 102: Seaside - Past, Present and Future

Web Site Maintainer

Documentation Writer

Code Contributor

Ph

oto

: je

su

sro

xs, w

ww

.sxc

.hu

Page 103: Seaside - Past, Present and Future
Page 104: Seaside - Past, Present and Future

Two more

things

Ph

oto

: B

en

Jo

osse

n, w

ww

.sxc

.hu

Page 105: Seaside - Past, Present and Future
Page 106: Seaside - Past, Present and Future
Page 108: Seaside - Past, Present and Future

Floash

Lucas Streit

Page 109: Seaside - Past, Present and Future