Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Introduction to Swiz
Search
bclinkinbeard
November 02, 2011
Programming
1
90
Introduction to Swiz
bclinkinbeard
November 02, 2011
Tweet
Share
Other Decks in Programming
See All in Programming
それ、本当に安全? ファイルアップロードで見落としがちなセキュリティリスクと対策
penpeen
7
3.9k
Lambda のコードストレージ容量に気をつけましょう
tattwan718
0
130
CSC307 Lecture 02
javiergs
PRO
1
780
MDN Web Docs に日本語翻訳でコントリビュート
ohmori_yusuke
0
650
ぼくの開発環境2026
yuzneri
0
240
AgentCoreとHuman in the Loop
har1101
5
240
Package Management Learnings from Homebrew
mikemcquaid
0
230
AIと一緒にレガシーに向き合ってみた
nyafunta9858
0
250
LLM Observabilityによる 対話型音声AIアプリケーションの安定運用
gekko0114
2
430
Smart Handoff/Pickup ガイド - Claude Code セッション管理
yukiigarashi
0
140
登壇資料を作る時に意識していること #登壇資料_findy
konifar
4
1.4k
コントリビューターによるDenoのすゝめ / Deno Recommendations by a Contributor
petamoriken
0
200
Featured
See All Featured
Discover your Explorer Soul
emna__ayadi
2
1.1k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
380
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
1.9k
Darren the Foodie - Storyboard
khoart
PRO
2
2.4k
Information Architects: The Missing Link in Design Systems
soysaucechin
0
780
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
230
Joys of Absence: A Defence of Solitary Play
codingconduct
1
290
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
1
1.4k
Claude Code のすすめ
schroneko
67
210k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.8k
Google's AI Overviews - The New Search
badams
0
910
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