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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
bclinkinbeard
November 02, 2011
Programming
92
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
そのテスト、説明できますか?~LWテスト戦略FW~のご紹介
nakahara
0
170
その問い、本当に正しいですか?AI時代のエンジニアに必要な哲学と認知科学 / ai-philosophy-cognitive-science
minodriven
13
6.3k
AI駆動開発を妨げる技術的負債の解消アプローチ / ai-refactoring-approach
minodriven
14
7.1k
Skillsは効率化、Agentsは"自分の拡張"——Builder時代のエージェント編成(CC Night 2026)
wemra
1
170
TAKTでAI駆動開発の品質を設計する
j5ik2o
7
1.5k
ローカルLLMを使ってB2Bサービスを作っていての学び
yaotti
0
210
TypeScript+Orvalで実現する型安全かつ堅牢でスケーラブルなマルチチャネル通知基盤 / TSKaigi Night talks ~after conference~
d0riven
0
360
才能?センス?知らん、 続けたもん勝ちだ。-- 結婚・出産・癌を越えてなお、私がプロダクトを創り続ける理由
16bitidol
1
420
エンジニアと一緒にテストコードの設計と実装を改善した話
mototakatsu
0
220
鹿野さんに聞く!『TypeScriptコードレシピ集』で磨く実践力
tonkotsuboy_com
4
820
Spring Security 実践 ─ GraphQL APIで実務に役立つ 認証・認可 を学ぶ
wagyu
0
260
IBM Bobを活用したレガシーアプリの最新化
oniak3ibm
PRO
1
220
Featured
See All Featured
Odyssey Design
rkendrick25
PRO
2
710
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.8k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
300
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
1
360
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
66
55k
4 Signs Your Business is Dying
shpigford
187
22k
Statistics for Hackers
jakevdp
799
230k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
470
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
Faster Mobile Websites
deanohume
310
32k
We Have a Design System, Now What?
morganepeng
55
8.2k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.4k
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