SlideShare a Scribd company logo
Noury	Bouraqadi	&	Dave	Mason	
	
h4p://pharojs.org
PharoJS
PharoJS
PharoJS
PharoJS
Noury	Bouraqadi	&	Dave	Mason	
	
h4p://pharojs.org
Smalltalk		
All	the	Time	
&	Everywhere
Smalltalk	All	the	Time?	
	
Offline		
Web	Clients
Smalltalk	Everywhere?	
	
Mobile	Apps
Web	
Clients	
Mobile	
Apps	?
Web	
Clients	
Mobile	
Apps	
Javascript	
HTML	
CSS
Web	
Clients	
Mobile	
Apps
Web	
Clients	
Mobile	
Apps	
Tools	
framework
Javascript	0%		 100%	
Development	 ProducLon	
Lifecycle	with	
100%	 Pharo	 0%
Lifecycle	with	
Javascript	0%		 100%	
100%	 Pharo	 0%
1.	Code	+	Test	Model	
Lifecycle	with	
Javascript	0%		 100%	
100%	 Pharo	 0%
1.	Code	+	Test	Model	
2.	Code	+	Test	IntegraLon	
Lifecycle	with	
Javascript	0%		 100%	
100%	 Pharo	 0%
1.	Code	+	Test	Model	
3.	Test	Portability	
2.	Code	+	Test	IntegraLon	
Lifecycle	with	
Javascript	0%		 100%	
100%	 Pharo	 0%
1.	Code	+	Test	Model	
100%	Pharo
2.	Code	+	Test	IntegraLon	
~80%	Pharo	+	~20%	Javascript
3.	Test	Portability	
~20%	Pharo	+	~80%	Javascript	
Same	
Code!
3.	Test	Portability	
~20%	Pharo	+	~80%	Javascript	
Tests	
DOM	
Third	party	
Models	
Controllers	
Tomorrow	
IWST	Talk	
Proxies
4.	Export	for	ProducLon	
100%	Javascript
Demo
Mapping	Pharo	to	Javascript
Mapping	Pharo	to	Javascript
Mapping	Pharo	to	Javascript
Mapping	Pharo	to	Javascript
Mapping	Pharo	to	Javascript
Support	JS	IntegraLon	
•  Class	extensions	
– e.g.	for	constructors	Object(),	FuncLon(),	Number()...	
•  Class	placeholders	
– e.g.	for	DicLonary	
•  AlternaLve	JS	code	for	methods	
– Typically	for	primiLves	e.g.	basicNew	
•  Special	messages	
– Read/Write	JS	Slot	access	
– Call	JS	naLve	methods
What	Next?	
•  Migrate	to	Pharo	5	(Ongoing)	
•  Coverage	for	Core	Pharo	Libraries	
•  Improve	Tools	
– Code	ExtracLon	
– Debugging	
– Generate	HTML
Learn	more	about	PharoJS	
•  Web:	h4p://pharojs.org	
– Thanks	ESUG	for	the	support	
•  Slack:	h4ps://pharojs.slack.com/	
– Discussions	
•  Twi4er:	h4ps://twi4er.com/pharojs	
– News	
– SubscripLon	to	PharoJS	Slack
Noury	Bouraqadi	&	Dave	Mason	
	
h4p://pharojs.org	
Develop	in	Pharo,	Run	on	Javascript

More Related Content

PDF
PharoJS: Pharo-Based TDD for Javascript Applications
PDF
Pharo JS
PDF
徒手打造自己的粉專客服機器人
PDF
Phalcon / Zephir Introduction at PHPConfTW2013
PDF
Understanding progressive enhancement - yuiconf2010
PDF
Php phalcon - Another approach to develop website - Techcamp Saigon 2014
PPTX
Phalcon - Giant Killer
PDF
Pharo Hands-On: 01 welcome
PharoJS: Pharo-Based TDD for Javascript Applications
Pharo JS
徒手打造自己的粉專客服機器人
Phalcon / Zephir Introduction at PHPConfTW2013
Understanding progressive enhancement - yuiconf2010
Php phalcon - Another approach to develop website - Techcamp Saigon 2014
Phalcon - Giant Killer
Pharo Hands-On: 01 welcome

Viewers also liked (20)

PDF
Sly and the RoarVM: Exploring the Manycore Future of Programming
PDF
The Glamorous Toolkit: Towards a novel live IDE
PDF
Pharo Update
PDF
The Cog VM evolution
PDF
Mocks, Proxies, and Transpilation as Development Strategies for Web Development
PDF
Talking to Robots with Pharo
PDF
Small Talk: Subliminal Advertising
PDF
Intro to GemStone/S
PDF
Pharo Status Fosdem 2015
PDF
A Weak Pharo Story
PDF
Cuis Smalltalkの紹介
PDF
How to Build a High-Performance VM for Squeak/Smalltalk in Your Spare Time: A...
PDF
Perfection & Feedback Loops or: why worse is better
PDF
Spark + Clojure for Topic Discovery - Zalando Tech Clojure/Conj Talk
PDF
Code Transformation by Direct Transformation of ASTs
PDF
Controlling Machines with Smalltalk on Raspberry PI
KEY
PhD Thesis Defense Presentation
PDF
Perfection & Feedback Loops or: why worse is better
PDF
Data sciencelab dart neo4j (1)
PDF
The Object Repository - Pulling Objects out of the Ecosystem
Sly and the RoarVM: Exploring the Manycore Future of Programming
The Glamorous Toolkit: Towards a novel live IDE
Pharo Update
The Cog VM evolution
Mocks, Proxies, and Transpilation as Development Strategies for Web Development
Talking to Robots with Pharo
Small Talk: Subliminal Advertising
Intro to GemStone/S
Pharo Status Fosdem 2015
A Weak Pharo Story
Cuis Smalltalkの紹介
How to Build a High-Performance VM for Squeak/Smalltalk in Your Spare Time: A...
Perfection & Feedback Loops or: why worse is better
Spark + Clojure for Topic Discovery - Zalando Tech Clojure/Conj Talk
Code Transformation by Direct Transformation of ASTs
Controlling Machines with Smalltalk on Raspberry PI
PhD Thesis Defense Presentation
Perfection & Feedback Loops or: why worse is better
Data sciencelab dart neo4j (1)
The Object Repository - Pulling Objects out of the Ecosystem
Ad

Similar to PharoJS (20)

PDF
PharoJS - Zürich Smalltalk Group Meetup November 2023
PDF
PharoJS: Hijack the JavaScript Ecosystem
PPTX
PharoJS ESUG 2019 Update
PDF
Smalltalk for the Web & Beyond (ESUG 2025)
PDF
PharoJS for Real World Applications
PDF
PharoJS for Real World Applications
PDF
Pharo Status
PDF
Introduction of Pharo 5.0
PDF
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
PDF
Pharo Smalltalk as Universal Development Platform
PDF
2015 Pharo Prague Lambda Meetup
PDF
Why do *you* need a strong open-source Smalltalk!
PDF
Inria Tech Talk - Programmation Pharo - Mercredi 26 septembre 2018
PDF
Pharo: Programming in an Immersive World (Stéphane Ducasse Technology Stream)
PDF
Pharo Consortium: A roadmap to solid evolution
PDF
Pharo: A roadmap to solid evolution.
PDF
Pharo Status ESUG 2014
PDF
Pharo Status ESUG 2014
PDF
Why do *you* need a strong open-source Smalltalk!
PDF
Pharo Status ESUG 2014
PharoJS - Zürich Smalltalk Group Meetup November 2023
PharoJS: Hijack the JavaScript Ecosystem
PharoJS ESUG 2019 Update
Smalltalk for the Web & Beyond (ESUG 2025)
PharoJS for Real World Applications
PharoJS for Real World Applications
Pharo Status
Introduction of Pharo 5.0
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Pharo Smalltalk as Universal Development Platform
2015 Pharo Prague Lambda Meetup
Why do *you* need a strong open-source Smalltalk!
Inria Tech Talk - Programmation Pharo - Mercredi 26 septembre 2018
Pharo: Programming in an Immersive World (Stéphane Ducasse Technology Stream)
Pharo Consortium: A roadmap to solid evolution
Pharo: A roadmap to solid evolution.
Pharo Status ESUG 2014
Pharo Status ESUG 2014
Why do *you* need a strong open-source Smalltalk!
Pharo Status ESUG 2014
Ad

More from ESUG (20)

PDF
ShowUs: Pharo Stream Deck (ESUG 2025, Gdansk)
PDF
Micromaid: A simple Mermaid-like chart generator for Pharo
PDF
Directing Generative AI for Pharo Documentation
PDF
Even Lighter Than Lightweiht: Augmenting Type Inference with Primitive Heuris...
PDF
Composing and Performing Electronic Music on-the-Fly with Pharo and Coypu
PDF
Gamifying Agent-Based Models in Cormas: Towards the Playable Architecture for...
PDF
Analysing Python Machine Learning Notebooks with Moose
PDF
FASTTypeScript metamodel generation using FAST traits and TreeSitter project
PDF
Migrating Katalon Studio Tests to Playwright with Model Driven Engineering
PDF
Package-Aware Approach for Repository-Level Code Completion in Pharo
PDF
Evaluating Benchmark Quality: a Mutation-Testing- Based Methodology
PDF
An Analysis of Inline Method Refactoring
PDF
Identification of unnecessary object allocations using static escape analysis
PDF
Control flow-sensitive optimizations In the Druid Meta-Compiler
PDF
Clean Blocks (IWST 2025, Gdansk, Poland)
PDF
Encoding for Objects Matters (IWST 2025)
PDF
Challenges of Transpiling Smalltalk to JavaScript
PDF
Immersive experiences: what Pharo users do!
PDF
ChatPharo: an Open Architecture for Understanding How to Talk Live to LLMs
PDF
Cavrois - an Organic Window Management (ESUG 2025)
ShowUs: Pharo Stream Deck (ESUG 2025, Gdansk)
Micromaid: A simple Mermaid-like chart generator for Pharo
Directing Generative AI for Pharo Documentation
Even Lighter Than Lightweiht: Augmenting Type Inference with Primitive Heuris...
Composing and Performing Electronic Music on-the-Fly with Pharo and Coypu
Gamifying Agent-Based Models in Cormas: Towards the Playable Architecture for...
Analysing Python Machine Learning Notebooks with Moose
FASTTypeScript metamodel generation using FAST traits and TreeSitter project
Migrating Katalon Studio Tests to Playwright with Model Driven Engineering
Package-Aware Approach for Repository-Level Code Completion in Pharo
Evaluating Benchmark Quality: a Mutation-Testing- Based Methodology
An Analysis of Inline Method Refactoring
Identification of unnecessary object allocations using static escape analysis
Control flow-sensitive optimizations In the Druid Meta-Compiler
Clean Blocks (IWST 2025, Gdansk, Poland)
Encoding for Objects Matters (IWST 2025)
Challenges of Transpiling Smalltalk to JavaScript
Immersive experiences: what Pharo users do!
ChatPharo: an Open Architecture for Understanding How to Talk Live to LLMs
Cavrois - an Organic Window Management (ESUG 2025)

Recently uploaded (20)

PDF
Architecture types and enterprise applications.pdf
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PPTX
Chapter 5: Probability Theory and Statistics
PPTX
Modernising the Digital Integration Hub
PDF
August Patch Tuesday
PDF
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
PDF
Developing a website for English-speaking practice to English as a foreign la...
PDF
Zenith AI: Advanced Artificial Intelligence
PDF
Hybrid model detection and classification of lung cancer
PDF
WOOl fibre morphology and structure.pdf for textiles
PDF
A comparative study of natural language inference in Swahili using monolingua...
PDF
Getting started with AI Agents and Multi-Agent Systems
PDF
Transform Your ITIL® 4 & ITSM Strategy with AI in 2025.pdf
PPTX
Final SEM Unit 1 for mit wpu at pune .pptx
PPTX
1. Introduction to Computer Programming.pptx
PDF
DP Operators-handbook-extract for the Mautical Institute
PPTX
cloud_computing_Infrastucture_as_cloud_p
PDF
Getting Started with Data Integration: FME Form 101
PDF
2021 HotChips TSMC Packaging Technologies for Chiplets and 3D_0819 publish_pu...
PDF
A contest of sentiment analysis: k-nearest neighbor versus neural network
Architecture types and enterprise applications.pdf
Assigned Numbers - 2025 - Bluetooth® Document
Chapter 5: Probability Theory and Statistics
Modernising the Digital Integration Hub
August Patch Tuesday
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
Developing a website for English-speaking practice to English as a foreign la...
Zenith AI: Advanced Artificial Intelligence
Hybrid model detection and classification of lung cancer
WOOl fibre morphology and structure.pdf for textiles
A comparative study of natural language inference in Swahili using monolingua...
Getting started with AI Agents and Multi-Agent Systems
Transform Your ITIL® 4 & ITSM Strategy with AI in 2025.pdf
Final SEM Unit 1 for mit wpu at pune .pptx
1. Introduction to Computer Programming.pptx
DP Operators-handbook-extract for the Mautical Institute
cloud_computing_Infrastucture_as_cloud_p
Getting Started with Data Integration: FME Form 101
2021 HotChips TSMC Packaging Technologies for Chiplets and 3D_0819 publish_pu...
A contest of sentiment analysis: k-nearest neighbor versus neural network

PharoJS