SlideShare ist ein Scribd-Unternehmen logo
1 von 14
Germán Arduino
Arduino Software
Alejandro Aguirre
tech-Art Engineering
Diego Gómez Deck
IGO Software
Smalltalks 2009
Buenos Aires - Argentina
Smalltalk Web Toolkit
2
About Us
Germán S. Arduino
Founder of Arduino Software http://www.arduinosoftware.com
Producer of PasswordsPro http://www.passwordspro.com
Blog at: http://germanarduino.blogspot.com
Alejandro M. Aguirre
Founder of tech-Art Engineering
Personal page at: http://wiki.squeak.org/squeak/6112
Diego Gómez Deck
Partner at IGO Software http://www.igosoftware.es
Creator of SWT and friends
Squeak Guru
3
What is SWT ?
A web development framework based on Model-View-
Controller
Model centered (as any good software)
Divides the software in two parts:
Server Part (Model): Running on the server (Smalltalk)
Client Part (UI): Running on Internet Browser (Javascript)
Includes a translator from Smalltalk to Javascript (ST2JS) to
avoid the need of write Javascript code
4
What is SWT (Cont) ?
Uses Comet to break the HTTP protocol asymmetry
With Comet we can deliver content to the client when an
event has occurred in the model or in the server and avoid
the pooling task to the server.
This technique allows us to develop a MVC framework. The
model is on the server and the view-controller on the client.
The model can travel (translated to Javascript) to the client.
The events are fired from the server to the client, and the
framework has optimizations to control the network traffic.
5
Smalltalk to Javascript Translator (ST2JS)
Asteroid is a small, but still functional, implementation of the
technology named Comet.
See more about comet at:
http://en.wikipedia.org/wiki/Comet_(programming)
http://cometdaily.com
In web development, Comet is a neologism to describe a
web application model in which a long-held HTTP request
allows a web server to push data to a browser, without the
browser explicitly requesting it.
6
Smalltalk to Javascript Translator (ST2JS)
The "dom" widgets are written in Squeak (The basic widgets
developed in Smalltalk and translated to JS by ST2JS. Not
need to know Javascript!)
It takes advantage of modern browsers running javascript
The result is a squeak image running in the browser!
7
Features
The client server communication with traditional Ajax
The server client communication with Comet
#clientSide and #serverSide engines
Examples:
Ping Pong
Realtime Collaborative Whiteboard
Changes on real time
8
Architecture
9
More features
Distributed MVC – Designed to run with Comet.
Remote Model-View-Controller attempts to optimize the
network traffic. Model on the server and vc on the client.
Example of Distributed MVC running
When you are development in this framework you don't feel
the sensation that you are developing a web application.
Here we don't use anything outside Smalltalk.
10
Using SWT to “compile” Javascript
Another useful possibility of SWT is use it to “compile”
Javascript and then run it from a static html page without
Squeak on the server.
Live Example: http://www.caceres3d.es/gigapixel/
Of course, being an static html, also works on mobile
devices as the iPhone!
Download the source code to generate the html from
http://www.squeaksource.com/VHRP.html
11
Real Projects with SWT
CardGames: http://ceibo.wordpress.com
12
Real Projects with SWT
Virtual Museum
13
References
SWT is open source MIT licensed and is available on
Squeaksource: http://www.squeaksource.com/SWT.html
Mailing List: web20-smalltalk@googlegroups.com
Next Steps:
Port to latest versions of Squeak
Port to Dolphin / Dolphin New Generation
Invite all Smalltalkers to check it and, may be, help with the
development.
14
Q&A
Questions?
Contact:
Germán Arduino - gsa@arsol.net
Alejandro Aguirre – aaguirre8@gmail.com
Diego Gómez Deck - diegogomezdeck@gmail.com
Thanks you very much!

Weitere ähnliche Inhalte

Was ist angesagt?

Introduction to Google Web Toolkit
Introduction to Google Web ToolkitIntroduction to Google Web Toolkit
Introduction to Google Web Toolkit
Didier Girard
 

Was ist angesagt? (20)

Webkit overview
Webkit overviewWebkit overview
Webkit overview
 
Say hello to react js - Day 1
Say hello to react js   - Day 1Say hello to react js   - Day 1
Say hello to react js - Day 1
 
Lesson 09
Lesson 09Lesson 09
Lesson 09
 
Wicket And Swing From One Codebase
Wicket And Swing From One CodebaseWicket And Swing From One Codebase
Wicket And Swing From One Codebase
 
Reason to choose Angular JS for your Web Application
Reason to choose Angular JS for your Web ApplicationReason to choose Angular JS for your Web Application
Reason to choose Angular JS for your Web Application
 
Android Made Simple
Android Made SimpleAndroid Made Simple
Android Made Simple
 
GDG Atlanta - Angular.js Demo and Workshop
GDG Atlanta - Angular.js Demo and WorkshopGDG Atlanta - Angular.js Demo and Workshop
GDG Atlanta - Angular.js Demo and Workshop
 
AngularJS vs React JS vs Node JS: Which is Best For Web Development ?
AngularJS vs React JS vs Node JS: Which is Best For Web Development ?AngularJS vs React JS vs Node JS: Which is Best For Web Development ?
AngularJS vs React JS vs Node JS: Which is Best For Web Development ?
 
Building at a glance
Building at a glanceBuilding at a glance
Building at a glance
 
Vue3: nuove funzionalità, differenze e come migrare
Vue3: nuove funzionalità, differenze e come migrareVue3: nuove funzionalità, differenze e come migrare
Vue3: nuove funzionalità, differenze e come migrare
 
Introduction to Google Web Toolkit
Introduction to Google Web ToolkitIntroduction to Google Web Toolkit
Introduction to Google Web Toolkit
 
React JS Belgium Touch Base - React, Flux, React Native
React JS Belgium Touch Base - React, Flux, React NativeReact JS Belgium Touch Base - React, Flux, React Native
React JS Belgium Touch Base - React, Flux, React Native
 
Java script
Java scriptJava script
Java script
 
The Future of ASP.NET
The Future of ASP.NETThe Future of ASP.NET
The Future of ASP.NET
 
Muhammad azamuddin introduction-to-reactjs
Muhammad azamuddin   introduction-to-reactjsMuhammad azamuddin   introduction-to-reactjs
Muhammad azamuddin introduction-to-reactjs
 
Angular vs React: Building modern SharePoint interfaces with SPFx
Angular vs React: Building modern SharePoint interfaces with SPFxAngular vs React: Building modern SharePoint interfaces with SPFx
Angular vs React: Building modern SharePoint interfaces with SPFx
 
SqlSaturday Denmark 2017 - Automate your SSIS deployment process
SqlSaturday Denmark 2017 - Automate your SSIS deployment processSqlSaturday Denmark 2017 - Automate your SSIS deployment process
SqlSaturday Denmark 2017 - Automate your SSIS deployment process
 
Scaffolding a mean stack
Scaffolding a mean stackScaffolding a mean stack
Scaffolding a mean stack
 
Building Framework Agnostic UI with Web Components
Building Framework Agnostic UI with Web ComponentsBuilding Framework Agnostic UI with Web Components
Building Framework Agnostic UI with Web Components
 
Pluggable web app using Angular (Odessa JS conf)
Pluggable web app using Angular (Odessa JS conf)Pluggable web app using Angular (Odessa JS conf)
Pluggable web app using Angular (Odessa JS conf)
 

Andere mochten auch

Smalltalk and MicroISV's
Smalltalk and MicroISV'sSmalltalk and MicroISV's
Smalltalk and MicroISV's
German Arduino
 

Andere mochten auch (7)

Smalltalk and MicroISV's
Smalltalk and MicroISV'sSmalltalk and MicroISV's
Smalltalk and MicroISV's
 
Arduino Software - Servicios de Seguridad Informática
Arduino Software - Servicios de Seguridad InformáticaArduino Software - Servicios de Seguridad Informática
Arduino Software - Servicios de Seguridad Informática
 
Smalltalk intro I
Smalltalk intro ISmalltalk intro I
Smalltalk intro I
 
Metaprogramacion
MetaprogramacionMetaprogramacion
Metaprogramacion
 
Getting Started with Cuis Smalltalk
Getting Started with Cuis SmalltalkGetting Started with Cuis Smalltalk
Getting Started with Cuis Smalltalk
 
Study: The Future of VR, AR and Self-Driving Cars
Study: The Future of VR, AR and Self-Driving CarsStudy: The Future of VR, AR and Self-Driving Cars
Study: The Future of VR, AR and Self-Driving Cars
 
Hype vs. Reality: The AI Explainer
Hype vs. Reality: The AI ExplainerHype vs. Reality: The AI Explainer
Hype vs. Reality: The AI Explainer
 

Ähnlich wie Swt 2009

CiklumJavaSat15112011:Andrew Mormysh-GWT features overview
CiklumJavaSat15112011:Andrew Mormysh-GWT features overviewCiklumJavaSat15112011:Andrew Mormysh-GWT features overview
CiklumJavaSat15112011:Andrew Mormysh-GWT features overview
Ciklum Ukraine
 

Ähnlich wie Swt 2009 (20)

SWT - Technical Deep Dive
SWT - Technical Deep DiveSWT - Technical Deep Dive
SWT - Technical Deep Dive
 
(Js) Export your own WebGL Viewer
(Js) Export your own WebGL Viewer(Js) Export your own WebGL Viewer
(Js) Export your own WebGL Viewer
 
The WebKit project
The WebKit projectThe WebKit project
The WebKit project
 
Web summit.pptx
Web summit.pptxWeb summit.pptx
Web summit.pptx
 
Ultimate Guide to Microservice Architecture on Kubernetes
Ultimate Guide to Microservice Architecture on KubernetesUltimate Guide to Microservice Architecture on Kubernetes
Ultimate Guide to Microservice Architecture on Kubernetes
 
GWT Introduction for Eclipse Day
GWT Introduction for Eclipse Day GWT Introduction for Eclipse Day
GWT Introduction for Eclipse Day
 
Micronaut: A new way to build microservices
Micronaut: A new way to build microservicesMicronaut: A new way to build microservices
Micronaut: A new way to build microservices
 
JS Fest 2019/Autumn. Влад Федосов. Technology agnostic microservices at SPA f...
JS Fest 2019/Autumn. Влад Федосов. Technology agnostic microservices at SPA f...JS Fest 2019/Autumn. Влад Федосов. Technology agnostic microservices at SPA f...
JS Fest 2019/Autumn. Влад Федосов. Technology agnostic microservices at SPA f...
 
(In)Security Implication in the JS Universe
(In)Security Implication in the JS Universe(In)Security Implication in the JS Universe
(In)Security Implication in the JS Universe
 
JSFest 2019: Technology agnostic microservices at SPA frontend
JSFest 2019: Technology agnostic microservices at SPA frontendJSFest 2019: Technology agnostic microservices at SPA frontend
JSFest 2019: Technology agnostic microservices at SPA frontend
 
Gwt Deep Dive
Gwt Deep DiveGwt Deep Dive
Gwt Deep Dive
 
.NET Conf 2019 高雄場 - .NET Core 3.0
.NET Conf 2019 高雄場 - .NET Core 3.0.NET Conf 2019 高雄場 - .NET Core 3.0
.NET Conf 2019 高雄場 - .NET Core 3.0
 
JavaScript - Chapter 3 - Introduction
 JavaScript - Chapter 3 - Introduction JavaScript - Chapter 3 - Introduction
JavaScript - Chapter 3 - Introduction
 
Javascript as a target language - GWT KickOff - Part 2/2
Javascript as a target language - GWT KickOff - Part 2/2Javascript as a target language - GWT KickOff - Part 2/2
Javascript as a target language - GWT KickOff - Part 2/2
 
CiklumJavaSat15112011:Andrew Mormysh-GWT features overview
CiklumJavaSat15112011:Andrew Mormysh-GWT features overviewCiklumJavaSat15112011:Andrew Mormysh-GWT features overview
CiklumJavaSat15112011:Andrew Mormysh-GWT features overview
 
CODE IGNITER
CODE IGNITERCODE IGNITER
CODE IGNITER
 
3D Web Visualization 1
3D Web Visualization 13D Web Visualization 1
3D Web Visualization 1
 
3D Web Visualization
3D Web Visualization 3D Web Visualization
3D Web Visualization
 
The WebKit project (LinuxCon North America 2012)
The WebKit project (LinuxCon North America 2012)The WebKit project (LinuxCon North America 2012)
The WebKit project (LinuxCon North America 2012)
 
How to Develop Progressive Web Apps in Flutter – Step by Step Guide.pptx
How to Develop Progressive Web Apps in Flutter – Step by Step Guide.pptxHow to Develop Progressive Web Apps in Flutter – Step by Step Guide.pptx
How to Develop Progressive Web Apps in Flutter – Step by Step Guide.pptx
 

Kürzlich hochgeladen

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 

Kürzlich hochgeladen (20)

Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 

Swt 2009

  • 1. Germán Arduino Arduino Software Alejandro Aguirre tech-Art Engineering Diego Gómez Deck IGO Software Smalltalks 2009 Buenos Aires - Argentina Smalltalk Web Toolkit
  • 2. 2 About Us Germán S. Arduino Founder of Arduino Software http://www.arduinosoftware.com Producer of PasswordsPro http://www.passwordspro.com Blog at: http://germanarduino.blogspot.com Alejandro M. Aguirre Founder of tech-Art Engineering Personal page at: http://wiki.squeak.org/squeak/6112 Diego Gómez Deck Partner at IGO Software http://www.igosoftware.es Creator of SWT and friends Squeak Guru
  • 3. 3 What is SWT ? A web development framework based on Model-View- Controller Model centered (as any good software) Divides the software in two parts: Server Part (Model): Running on the server (Smalltalk) Client Part (UI): Running on Internet Browser (Javascript) Includes a translator from Smalltalk to Javascript (ST2JS) to avoid the need of write Javascript code
  • 4. 4 What is SWT (Cont) ? Uses Comet to break the HTTP protocol asymmetry With Comet we can deliver content to the client when an event has occurred in the model or in the server and avoid the pooling task to the server. This technique allows us to develop a MVC framework. The model is on the server and the view-controller on the client. The model can travel (translated to Javascript) to the client. The events are fired from the server to the client, and the framework has optimizations to control the network traffic.
  • 5. 5 Smalltalk to Javascript Translator (ST2JS) Asteroid is a small, but still functional, implementation of the technology named Comet. See more about comet at: http://en.wikipedia.org/wiki/Comet_(programming) http://cometdaily.com In web development, Comet is a neologism to describe a web application model in which a long-held HTTP request allows a web server to push data to a browser, without the browser explicitly requesting it.
  • 6. 6 Smalltalk to Javascript Translator (ST2JS) The "dom" widgets are written in Squeak (The basic widgets developed in Smalltalk and translated to JS by ST2JS. Not need to know Javascript!) It takes advantage of modern browsers running javascript The result is a squeak image running in the browser!
  • 7. 7 Features The client server communication with traditional Ajax The server client communication with Comet #clientSide and #serverSide engines Examples: Ping Pong Realtime Collaborative Whiteboard Changes on real time
  • 9. 9 More features Distributed MVC – Designed to run with Comet. Remote Model-View-Controller attempts to optimize the network traffic. Model on the server and vc on the client. Example of Distributed MVC running When you are development in this framework you don't feel the sensation that you are developing a web application. Here we don't use anything outside Smalltalk.
  • 10. 10 Using SWT to “compile” Javascript Another useful possibility of SWT is use it to “compile” Javascript and then run it from a static html page without Squeak on the server. Live Example: http://www.caceres3d.es/gigapixel/ Of course, being an static html, also works on mobile devices as the iPhone! Download the source code to generate the html from http://www.squeaksource.com/VHRP.html
  • 11. 11 Real Projects with SWT CardGames: http://ceibo.wordpress.com
  • 12. 12 Real Projects with SWT Virtual Museum
  • 13. 13 References SWT is open source MIT licensed and is available on Squeaksource: http://www.squeaksource.com/SWT.html Mailing List: web20-smalltalk@googlegroups.com Next Steps: Port to latest versions of Squeak Port to Dolphin / Dolphin New Generation Invite all Smalltalkers to check it and, may be, help with the development.
  • 14. 14 Q&A Questions? Contact: Germán Arduino - gsa@arsol.net Alejandro Aguirre – aaguirre8@gmail.com Diego Gómez Deck - diegogomezdeck@gmail.com Thanks you very much!