seaside - on not getting bogged down
DESCRIPTION
The Seaside web application framework is taken by storm. All major Smalltalk dialects have working ports of Seaside, contributing their particular strength to the mix. While Seaside itself tires to be dialect agnostic, vendors themselves are pushing in many different directions that are potentially incompatible. How does Seaside manage the compatibility among all these dialects? How does our dream Smalltalk vendor look like? How do we package the code in Seaside 2.9? And, most important, how does the future of Seaside look like?TRANSCRIPT
1Google Bug
Tracker
5Average
Minutes on Site
6Supported Smalltalk
Platforms
80Subscribers to
seaside-dev List
111Facebook Group
Members
250Unique Visitors
per Day
800Subscribers to
seaside List
10KOne-Click Image
Downloads
0
200
400
600
800
1000
1200
1400
1600
Visitors per Day
Aug 2007 –!Aug 2008
One-Click Image April 1st
2.8 2.8.1 2.8.2
Platforms
Squeak
new
GNU Smalltalk
new
Smalltalk
GemStone/S
Dolphin Smalltalk
VA 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
soon
PorterThank You!
Portability
Pho
to: A
lexia
´s, flic
kr.co
m
Syntax
Pho
to: p
ipp
, sxc.h
u
Underscore
Assagissements
a _ 1b ! 2
no
Brace Arrays
{ 1. 2. 1 + 2 }
no
Array Constructors
#[ ‘string’, 123, Object new ]
no
Byte Arrays
#[ 1 2 3 ]
no
Variable Bindings
{Smalltalk.Object}
no
Selection Blocks
{:i | i.is.permanent}
no
ifNotNil: [ :x | ... ]ifNotNilDo: [ :x | ... ]
no
Pragma
<javascript: 1.5>
ok
Collections
Pho
to: ijs
en
do
orn
,sxc.h
u
Collection>>#=
no
#withIndexDo:
no
#keysAndValuesDo:
yes
#pairsDo:
no
1 to: aCollection size by: 2 do: [ :i | ... ]
yes
Strings
Pho
to: Lyn
ne L
ancaste
r, s
xc.h
u
Symbol is a String
no
#match:
no
#asString
no
#displayString
no
#toString
yes
No IO
no
SlimeLint Tests
for Seaside
Pho
to: A
Syed
, sxc.h
u
6 Rules to detect
Portability Issues
a _ 1.
b := { a + 2. 3 }.
c pairsDo: [ :a :b | a raisedTo: b ]
6Rules to detect
Bugs
html div
with: ‘Hello World’;
id: ‘message’.
html updater
id: ‘message’;
callback: [ :r | html text: ‘Bye’ ]
4Rules to detect
Possible Bugs
renderContentOn: html
a := self call: WACounter new
4Rules to detect
Miscellaneous
Problems
html div with: ‘Hi’.
html div: [ html text: ‘Hi’ ].
html anchor
callback: [ self a. self b. self c ];
with: ‘It’’s Complicated’
0
50
100
150
200
250
300
350
400
Seaside 2.5 Seaside 2.6 Seaside 2.7 Seaside 2.8 Seaside 2.9
131
4444
20
Unit Tests
0
100
200
300
400
Seaside 2.5 Seaside 2.6 Seaside 2.7 Seaside 2.8 Seaside 2.9
Unit Tests
" 3
" 3
Source
Format
Pho
to: C
aro
lyn H
an, sxc.h
u
Interchange
Formats
no
Monticello
yes
Squeak Cincom GemStone GST Dolphin
Squeak
Cincom
GemStone
GST
Dolphin
yes yep yes yep yep
no yes ? no no
yes ? yes no no
no no no yes no
no no no no yes
Target System
So
urc
e S
yste
m
Monticello 2
yes
Platform
Support
SPORT
no
SeasidePlatformSupport
yes
Small and Lean
WASeaside Namespace
Packaging
Ph
oto
: To
ry B
yrn
e, w
ww
.sxc
.hu
SUni
t
!
Dream Vendor
Pho
to: L
isa C
hristine T
am
, sxc.h
u
Continuous
Integration
Use a public
bug tracker
Implement
Monticello 2
Provide a full
stack solution
Support
Multi CPU
I18N
海!
Provide a
better GUI
Seaside Sprint
Pho
to: S
teve W
oo
ds, sxc.h
u
When?
Friday, August 29, 2008 at 14:00
Sunday, August 31, 2008
Who?
Core, Library Developer
Porter and Vendors
What?
Towards Seaside 2.9
Where?
Pier Smalltalk
source.lukas-renggli.ch/isea
www.seaside.stwww.lukas-renggli.ch