Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Introduction to Swiz
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
bclinkinbeard
November 02, 2011
Programming
94
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Introduction to Swiz
bclinkinbeard
November 02, 2011
Other Decks in Programming
See All in Programming
見えないものを探る要求要件定義に必要な基本的思考 / invisible-requirement-thinking
minodriven
15
8.5k
UnityでSystem.Net.WebSocketsなWebSocketサーバが動かないのでUnity Monoのコードを覗いてみた / about implementing websocket server with unity mono
drumath2237
1
610
Vue Fes Japan の “作る側”に関わってみて
naokihaba
0
160
HTML-in-Canvasで作る未来のWeb UI表現
clockmaker
5
5.1k
C#の現在地 進化の歴史と、AI時代の.NET Everywhere
neuecc
5
5.2k
Optunaを作ったときにやりたかったこと、その後 (2026/10/16, Optuna Meetup #3)
iwiwi
1
430
AmebaブログはKMPから卒業します
kmars0605
0
190
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
190
AI主導のプログラミング学習アプリを作ってみた
econanringo
0
180
コードで差別化できない時代の ソフトウェアエンジニアリング / Software Engineering in an Era Where Code Doesn’t Differentiate
kishida
2
180
Findy - エンジニア向け会社紹介/Findy Company Deck
findyinc
6
400k
PumaからFalconに移行したRailsアプリケーションでの実践
falcon8823
0
170
Featured
See All Featured
Making Projects Easy
brettharned
120
6.8k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
4
1.2k
Music & Morning Musume
bryan
48
7.4k
Leo the Paperboy
mayatellez
10
2.4k
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
2
2.9k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
320
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
480
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
750
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
3.1k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
890
Transcript
Universal Mind™ Universal Mind | Ben Clinkinbeard Introduction to Swiz
Universal Mind™ Universal Mind | Ben Clinkinbeard Ben Clinkinbeard Technical
Architect Universal Mind
Universal Mind™ Universal Mind | Ben Clinkinbeard Tao of Swiz
What does Swiz believe in?
Universal Mind™ Universal Mind | Ben Clinkinbeard Swiz is unobtrusive
Imposes no patterns on your code
Universal Mind™ Universal Mind | Ben Clinkinbeard Swiz is unobtrusive
Requires minimal framework references
Universal Mind™ Universal Mind | Ben Clinkinbeard Swiz makes you
productive Virtually zero boilerplate
Universal Mind™ Universal Mind | Ben Clinkinbeard Swiz makes you
productive Expedites tedious tasks
Universal Mind™ Universal Mind | Ben Clinkinbeard Swiz is extensible
It doesn’t do everything. On purpose.
Universal Mind™ Universal Mind | Ben Clinkinbeard Swiz gets out
of your way Focus on problems, not a framework
Universal Mind™ Universal Mind | Ben Clinkinbeard What is clean
code? • Separation of concerns • Decoupled
Universal Mind™ Universal Mind | Ben Clinkinbeard Swiz terminology What
does it all mean, Basil?
Universal Mind™ Universal Mind | Ben Clinkinbeard Swiz instance Unit
of awesomeness
Universal Mind™ Universal Mind | Ben Clinkinbeard Swiz instance <swiz:Swiz>
<swiz:config> <swiz:SwizConfig eventPackages="com.foo.events" viewPackages="com.foo.views.*" /> </swiz:config> <swiz:beanProviders> <config:OrdersServiceBeans /> <!--config:OrdersDelegateBeans /--> <config:OrdersMockDelegateBeans /> <config:OrdersModelBeans /> <config:OrdersControllerBeans /> </swiz:beanProviders> </swiz:Swiz>
Universal Mind™ Universal Mind | Ben Clinkinbeard SwizConfig
Universal Mind™ Universal Mind | Ben Clinkinbeard Bean An object
managed by Swiz
Universal Mind™ Universal Mind | Ben Clinkinbeard Prototype Bean++
Universal Mind™ Universal Mind | Ben Clinkinbeard BeanProvider Provider of
beans
Universal Mind™ Universal Mind | Ben Clinkinbeard BeanProvider Declares non-view
beans
Universal Mind™ Universal Mind | Ben Clinkinbeard BeanProvider <swiz:BeanProvider> <models:AppModel
/> <models:UserModel /> <control:UserController /> <control:ProductsController id=”prodController” /> <swiz:Prototype type=”{ SomePresoModel }” /> </swiz:Swiz>
Universal Mind™ Universal Mind | Ben Clinkinbeard Dependency [Inject] marks
the spot
Universal Mind™ Universal Mind | Ben Clinkinbeard [Dispatcher] Shared event
bus, injected by Swiz
Universal Mind™ Universal Mind | Ben Clinkinbeard [Dispatcher( “global” )]
Maps to root Swiz instance
Universal Mind™ Universal Mind | Ben Clinkinbeard [Dispatcher( “local” )]
Maps to your Swiz instance
Universal Mind™ Universal Mind | Ben Clinkinbeard [Dispatcher] in practice
[Dispatcher] public var dispatcher:IEventDispatcher; ... dispatcher.dispatchEvent( someEvent );
Universal Mind™ Universal Mind | Ben Clinkinbeard [EventHandler] System event
handler
Universal Mind™ Universal Mind | Ben Clinkinbeard [Inject]
Universal Mind™ Universal Mind | Ben Clinkinbeard Inject by type
[Inject] public var model:UserModel; [Inject] public var delegate:IUserDelegate;
Universal Mind™ Universal Mind | Ben Clinkinbeard Inject by name
[Inject( “userService” )] public var service:RemoteObject; ... <mx:RemoteObject id=”userService” />
Universal Mind™ Universal Mind | Ben Clinkinbeard Inject bean property
[Inject( “userModel.currentUser” )] public var currentUser:User;
Universal Mind™ Universal Mind | Ben Clinkinbeard Inject bean property
[Inject( “userModel.currentUser”, bind=”true” )] public var currentUser:User;
Universal Mind™ Universal Mind | Ben Clinkinbeard Inject bean property
[Inject( “userModel.currentUser”, twoWay=”true” )] public var currentUser:User;
Universal Mind™ Universal Mind | Ben Clinkinbeard Setter injection [Inject]
public function setModel( model:UserModel ):void { this.model = model; }
Universal Mind™ Universal Mind | Ben Clinkinbeard [EventHandler]
Universal Mind™ Universal Mind | Ben Clinkinbeard EventHandler basics [EventHandler(
“com.foo.events.UserEvent.ADD_USER” )] public function addUser( event:UserEvent ):void{...}
Universal Mind™ Universal Mind | Ben Clinkinbeard EventHandler basics [EventHandler(
event = “UserEvent.ADD_USER” )] public function addUser( event:UserEvent ):void{...} ... <swiz:SwizConfig eventPackages=”com.foo.events” />
Universal Mind™ Universal Mind | Ben Clinkinbeard EventHandler basics [EventHandler(
“UserEvent.CLEAR_ALL_USERS” )] public function clearUsers():void{...}
Universal Mind™ Universal Mind | Ben Clinkinbeard EventHandler hotness [EventHandler(
“UserEvent.ADD_USER”, properties=”user” )] public function addUser( user:User ):void{...}
Universal Mind™ Universal Mind | Ben Clinkinbeard EventHandler hotness [EventHandler(
“UserEvent.ADD_USER”, properties=”user” )] [EventHandler( “UserEvent.EDIT_USER”, properties=”user” )] [EventHandler( “UserEvent.DELETE_USER”, properties=”user” )] public function manageUser( user:User ):void{...}
Universal Mind™ Universal Mind | Ben Clinkinbeard EventHandler hotness [EventHandler(
“UserEvent.*”, properties=”user” )] public function manageUser( user:User ):void{...}
Universal Mind™ Universal Mind | Ben Clinkinbeard EventHandler options priority,
useCapture, stop(Immediate)Propagation
Universal Mind™ Universal Mind | Ben Clinkinbeard Also...
Universal Mind™ Universal Mind | Ben Clinkinbeard [PostConstruct] Method to
be run once dependencies fulfilled
Universal Mind™ Universal Mind | Ben Clinkinbeard [PreDestroy] Method to
be run prior to tear down
Universal Mind™ Universal Mind | Ben Clinkinbeard [ViewAdded] Get reference
to a new view
Universal Mind™ Universal Mind | Ben Clinkinbeard [ViewAdded] [ViewAdded] public
function addViewListeners( view:MyForm ):void { // add view listeners }
Universal Mind™ Universal Mind | Ben Clinkinbeard [ViewAdded] [ViewAdded] public
function set myForm( view:MyForm ):void { _myForm = view; }
Universal Mind™ Universal Mind | Ben Clinkinbeard [ViewAdded] [ViewAdded] public
var view:MyForm;
Universal Mind™ Universal Mind | Ben Clinkinbeard [ViewRemoved] Get notified
a view was removed
Universal Mind™ Universal Mind | Ben Clinkinbeard [ViewRemoved] [ViewRemoved] public
function removeViewListeners( view:MyForm ):void { // remove view listeners }
Universal Mind™ Universal Mind | Ben Clinkinbeard [ViewNavigator] Get a
reference to ViewNavigator in non-view class
Universal Mind™ Universal Mind | Ben Clinkinbeard [ViewNavigator] Whoops...
Universal Mind™ Universal Mind | Ben Clinkinbeard Go forth and
kick ass
Universal Mind™ Universal Mind | Ben Clinkinbeard Site / blog
http://swizframework.org
Universal Mind™ Universal Mind | Ben Clinkinbeard Wiki http://wiki.swizframework.org
Universal Mind™ Universal Mind | Ben Clinkinbeard Bugs http://bugs.swizframework.org
Universal Mind™ Universal Mind | Ben Clinkinbeard Mailing list http://groups.google.com/group/swiz-framework