SlideShare ist ein Scribd-Unternehmen logo
1 von 89
Downloaden Sie, um offline zu lesen
Needs more jQuery
Using advanced JavaScript in
Atlassian Plugins
Tuesday, November 2, 2010
Needs more jQuery
Using advanced JavaScript in
Atlassian Plugins
Tuesday, November 2, 2010
Needs more jQuery
Using jQuery and AUI to create
better plugins with less work
Tuesday, November 2, 2010
AUI
Atlassian User Interface
Tuesday, November 2, 2010
“owie”
Atlassian User Interface
Tuesday, November 2, 2010
Tuesday, November 2, 2010
Tuesday, November 2, 2010
AUI Dropdown
Tuesday, November 2, 2010
AUI Dropdown
Tuesday, November 2, 2010
AUI Dropdown
Tuesday, November 2, 2010
AUI Dropdown
Tuesday, November 2, 2010
Tuesday, November 2, 2010
AUI Dialog
Tuesday, November 2, 2010
AUI DialogAUI Forms
Tuesday, November 2, 2010
AUI Toolbar
Tuesday, November 2, 2010
AUI Dialog
Tuesday, November 2, 2010
AUI Dialog
Tuesday, November 2, 2010
AUI Dialog
Tuesday, November 2, 2010
AUI Dialog
Not in AUI
Tuesday, November 2, 2010
AUI Dialog
Not in AUI. Yet.
Tuesday, November 2, 2010
AUI is driving a lot of our UI innovation.
Tuesday, November 2, 2010
AUI is driving a lot of our UI innovation.
It can drive yours too.
Tuesday, November 2, 2010
Who am I?
• Zach Davis
• Front-end Developer
• Integration Team
• San Francisco
Tuesday, November 2, 2010
What
Why
How
Where
?
Tuesday, November 2, 2010
What the Atlassian User Interface library is
Why
How
Where
?
Tuesday, November 2, 2010
What
Why we chose jQuery
How
Where
?
Tuesday, November 2, 2010
What
Why you should choose AUI
How
Where
?
Tuesday, November 2, 2010
What
Why
How to use AUI
Where
?
Tuesday, November 2, 2010
What
Why
How
Where AUI is now
?
Tuesday, November 2, 2010
What
Why
How
Where AUI is headed
?
Tuesday, November 2, 2010
What
Why
How
Where
Questions?
Tuesday, November 2, 2010
What is the Atlassian User Interface library?
Why
How
Where
?
Tuesday, November 2, 2010
“The Atlassian User Interface
(AUI) is a set of reusable, cross-
browser tested, high-quality
JavaScript and CSS UI
components. We developed AUI
for use in Atlassian applications.
Tuesday, November 2, 2010
?
Tuesday, November 2, 2010
less work, more awesome
Tuesday, November 2, 2010
What AUI provides
• Wraps jQuery
• JS components
• JS utilities
• Ready to go CSS
Tuesday, November 2, 2010
AUI vs AJS
Tuesday, November 2, 2010
AUI vs AJS
Tuesday, November 2, 2010
AUI vs AJS
Tuesday, November 2, 2010
Dialog
Tuesday, November 2, 2010
Dialog
Tuesday, November 2, 2010
Inline Dialog
Tuesday, November 2, 2010
Inline Dialog
Tuesday, November 2, 2010
Dropdown
Tuesday, November 2, 2010
Dropdown
Tuesday, November 2, 2010
Forms
Tuesday, November 2, 2010
Forms
Tuesday, November 2, 2010
What
Why did Atlassian choose jQuery?
How
Where
?
Tuesday, November 2, 2010
jQuery is a fast and concise JavaScript
Library that simplifies HTML
document traversing, event handling,
animating, and Ajax interactions for
rapid web development. jQuery is
designed to change the way that you
write JavaScript.
“
Tuesday, November 2, 2010
?
Tuesday, November 2, 2010
Tuesday, November 2, 2010
less work, more awesome
Tuesday, November 2, 2010
Why Atlassian chose jQuery
January, 2008
Tuesday, November 2, 2010
What
Why should you care?
How
Where
?
Tuesday, November 2, 2010
Consistent look and feel
Tuesday, November 2, 2010
Ready to use components
Tuesday, November 2, 2010
Helpful utilities
Tuesday, November 2, 2010
What
Why
How do you use AUI?
Where
?
Tuesday, November 2, 2010
Dialog
Tuesday, November 2, 2010
Dialog
var popup = new AJS.Dialog(400, 200, "my-
popup");
popup.show( );
Tuesday, November 2, 2010
Inline Dialog
Tuesday, November 2, 2010
Inline Dialog
AJS.InlineDialog(AJS.$("#my-trigger"), 1, "dialog-
content.html");
Tuesday, November 2, 2010
Dropdown
Tuesday, November 2, 2010
Dropdown
AJS.$("#my-dropdown").dropdown("Standard");
Tuesday, November 2, 2010
AJS.format
Tuesday, November 2, 2010
AJS.format("Showing entries {0} - {1} of {2}", 0, 10,
11);
AJS.format
Tuesday, November 2, 2010
>> Showing entries 0 - 10 of 11
AJS.format
AJS.format("Showing entries {0} - {1} of {2}", 0, 10,
11);
Tuesday, November 2, 2010
Keyboard shortcuts
Tuesday, November 2, 2010
Keyboard shortcuts
AJS.whenIType("cl").click("#test-click");
Tuesday, November 2, 2010
Keyboard shortcuts
AJS.whenIType("cl").click("#test-click");
AJS.whenIType("sf").execute(someFunction);
Tuesday, November 2, 2010
Sounds great...
Tuesday, November 2, 2010
Sounds great...
...but how do I get it in my plugin?
Tuesday, November 2, 2010
Sounds great...
$webResourceManager.requireResource
("com.atlassian.auiplugin:ajs")
...but how do I get it in my plugin?
Tuesday, November 2, 2010
atlassian-plugin.xml
<web-resource name="Fake plugin resources" key="fake-resources">
<dependency>com.atlassian.auiplugin:ajs</dependency>
<resource type="download" name="fake-plugin.js" location="js/fake-
plugin.js"/>
<resource type="download" name="fake-plugin.css" location="css/fake-
plugin.css"/>
</web-resource>
Tuesday, November 2, 2010
atlassian-plugin.xml
<web-resource name="Fake plugin resources" key="fake-resources">
<dependency>com.atlassian.auiplugin:ajs</dependency>
<resource type="download" name="fake-plugin.js" location="js/fake-
plugin.js"/>
<resource type="download" name="fake-plugin.css" location="css/fake-
plugin.css"/>
</web-resource>
fake-plugin.vm
$webResourceManager.requireResource("com.atlassian.example:fake-
resources")
Tuesday, November 2, 2010
What
Why
How do you use AUI?
Where
?
Tuesday, November 2, 2010
What
Why
How
Where is AUI now?
?
Tuesday, November 2, 2010
• Latest version: 3.2
• All products on AUI 3.x
• Open source
http://confluence.atlassian.com/display/AUI/Atlassian+User+Interface+(AUI)
+Developer+Documentation
https://studio.atlassian.com/browse/AJS
Tuesday, November 2, 2010
Public vs Private Components
Tuesday, November 2, 2010
Public vs Private Components
Tuesday, November 2, 2010
Public vs Private Components
Tuesday, November 2, 2010
What
Why
How
Where is AUI headed?
?
Tuesday, November 2, 2010
More formalized processes
• Testing
• Builds
• Infrastructure
• Dedicated resources
Tuesday, November 2, 2010
Community contributions
Tuesday, November 2, 2010
Community feedback
Tuesday, November 2, 2010
What
Why
How
Where
?
Tuesday, November 2, 2010
What
Why
How
Where
Questions?
Tuesday, November 2, 2010
Photo credits
http://www.flickr.com/photos/dmitry-baranovskiy/2378867408/
http://www.flickr.com/photos/cayusa/384187184/
http://www.flickr.com/photos/oskay/437341128/
http://www.flickr.com/photos/rocketlass/2851359961/
http://www.flickr.com/photos/mimk/1350963678/
Tuesday, November 2, 2010
More information
• Developer Docs: http://confluence.atlassian.com/display/AUI/
Atlassian+User+Interface+(AUI)+Developer+Documentation
• Javadocs: http://docs.atlassian.com/aui/3.0/
• Demos: https://studio.atlassian.com/source/browse/
~raw,r=HEAD/AJS/trunk/auiplugin/src/demo/index.html (Studio
login required)
Tuesday, November 2, 2010

Weitere ähnliche Inhalte

Ähnlich wie AtlasCamp 2010: Needs more jQuery - Using advanced Javascript in Atlassian Plugins - Zach Davis

The Tech Side of Project Argo
The Tech Side of Project ArgoThe Tech Side of Project Argo
The Tech Side of Project Argo
Wesley Lindamood
 
Seaside - Why should you care? (Dynamic Stockholm 2010)
Seaside - Why should you care? (Dynamic Stockholm 2010)Seaside - Why should you care? (Dynamic Stockholm 2010)
Seaside - Why should you care? (Dynamic Stockholm 2010)
jfitzell
 
RIA Unleashed - Developing for the TV with litl os
RIA Unleashed - Developing for the TV with litl osRIA Unleashed - Developing for the TV with litl os
RIA Unleashed - Developing for the TV with litl os
ryancanulla
 
Ruby on-rails-workshop
Ruby on-rails-workshopRuby on-rails-workshop
Ruby on-rails-workshop
Ryan Abbott
 
SenchaCon 2010 Keynote by CEO Abe Elias
SenchaCon 2010 Keynote by CEO Abe EliasSenchaCon 2010 Keynote by CEO Abe Elias
SenchaCon 2010 Keynote by CEO Abe Elias
Sencha
 
AtlasCamp 2010: Implementing a custom JIRA UI using plugins 2.0 - Andreas Knecht
AtlasCamp 2010: Implementing a custom JIRA UI using plugins 2.0 - Andreas KnechtAtlasCamp 2010: Implementing a custom JIRA UI using plugins 2.0 - Andreas Knecht
AtlasCamp 2010: Implementing a custom JIRA UI using plugins 2.0 - Andreas Knecht
Atlassian
 
Html5/CSS3 in shanghai 2010
Html5/CSS3 in shanghai 2010Html5/CSS3 in shanghai 2010
Html5/CSS3 in shanghai 2010
Zi Bin Cheah
 

Ähnlich wie AtlasCamp 2010: Needs more jQuery - Using advanced Javascript in Atlassian Plugins - Zach Davis (20)

The Tech Side of Project Argo
The Tech Side of Project ArgoThe Tech Side of Project Argo
The Tech Side of Project Argo
 
Seaside - Why should you care? (Dynamic Stockholm 2010)
Seaside - Why should you care? (Dynamic Stockholm 2010)Seaside - Why should you care? (Dynamic Stockholm 2010)
Seaside - Why should you care? (Dynamic Stockholm 2010)
 
Sencha Touch beta — Amazing Mobile Web Apps with HTML5, CSS3 & JavaScript
Sencha Touch beta — Amazing Mobile Web Apps with HTML5, CSS3 & JavaScriptSencha Touch beta — Amazing Mobile Web Apps with HTML5, CSS3 & JavaScript
Sencha Touch beta — Amazing Mobile Web Apps with HTML5, CSS3 & JavaScript
 
ZOMG WHY IS THIS CODE SO SLOW
ZOMG WHY IS THIS CODE SO SLOWZOMG WHY IS THIS CODE SO SLOW
ZOMG WHY IS THIS CODE SO SLOW
 
Sencha Touch Workshop
Sencha Touch WorkshopSencha Touch Workshop
Sencha Touch Workshop
 
Idiots guide to jquery
Idiots guide to jqueryIdiots guide to jquery
Idiots guide to jquery
 
RIA Unleashed - Developing for the TV with litl os
RIA Unleashed - Developing for the TV with litl osRIA Unleashed - Developing for the TV with litl os
RIA Unleashed - Developing for the TV with litl os
 
Human APIs
Human APIsHuman APIs
Human APIs
 
Cassandra devoxx 2010
Cassandra devoxx 2010Cassandra devoxx 2010
Cassandra devoxx 2010
 
Turning That UX Frown Upside Down
Turning That UX Frown Upside DownTurning That UX Frown Upside Down
Turning That UX Frown Upside Down
 
Sencha Touch for the Mobile Web
Sencha Touch for the Mobile WebSencha Touch for the Mobile Web
Sencha Touch for the Mobile Web
 
Mongodb on Ruby And Rails (froscon 2010)
Mongodb on Ruby And Rails (froscon 2010)Mongodb on Ruby And Rails (froscon 2010)
Mongodb on Ruby And Rails (froscon 2010)
 
Ruby on-rails-workshop
Ruby on-rails-workshopRuby on-rails-workshop
Ruby on-rails-workshop
 
Web App Scaffolding - FOWA London 2010
Web App Scaffolding - FOWA London 2010Web App Scaffolding - FOWA London 2010
Web App Scaffolding - FOWA London 2010
 
Mongo db
Mongo dbMongo db
Mongo db
 
SenchaCon 2010 Keynote by CEO Abe Elias
SenchaCon 2010 Keynote by CEO Abe EliasSenchaCon 2010 Keynote by CEO Abe Elias
SenchaCon 2010 Keynote by CEO Abe Elias
 
AtlasCamp 2010: Implementing a custom JIRA UI using plugins 2.0 - Andreas Knecht
AtlasCamp 2010: Implementing a custom JIRA UI using plugins 2.0 - Andreas KnechtAtlasCamp 2010: Implementing a custom JIRA UI using plugins 2.0 - Andreas Knecht
AtlasCamp 2010: Implementing a custom JIRA UI using plugins 2.0 - Andreas Knecht
 
CSS3 now
CSS3 nowCSS3 now
CSS3 now
 
Html5 Apps
Html5 AppsHtml5 Apps
Html5 Apps
 
Html5/CSS3 in shanghai 2010
Html5/CSS3 in shanghai 2010Html5/CSS3 in shanghai 2010
Html5/CSS3 in shanghai 2010
 

Mehr von Atlassian

Design Your Next App with the Atlassian Vendor Sketch Plugin
Design Your Next App with the Atlassian Vendor Sketch PluginDesign Your Next App with the Atlassian Vendor Sketch Plugin
Design Your Next App with the Atlassian Vendor Sketch Plugin
Atlassian
 

Mehr von Atlassian (20)

International Women's Day 2020
International Women's Day 2020International Women's Day 2020
International Women's Day 2020
 
10 emerging trends that will unbreak your workplace in 2020
10 emerging trends that will unbreak your workplace in 202010 emerging trends that will unbreak your workplace in 2020
10 emerging trends that will unbreak your workplace in 2020
 
Forge App Showcase
Forge App ShowcaseForge App Showcase
Forge App Showcase
 
Let's Build an Editor Macro with Forge UI
Let's Build an Editor Macro with Forge UILet's Build an Editor Macro with Forge UI
Let's Build an Editor Macro with Forge UI
 
Meet the Forge Runtime
Meet the Forge RuntimeMeet the Forge Runtime
Meet the Forge Runtime
 
Forge UI: A New Way to Customize the Atlassian User Experience
Forge UI: A New Way to Customize the Atlassian User ExperienceForge UI: A New Way to Customize the Atlassian User Experience
Forge UI: A New Way to Customize the Atlassian User Experience
 
Take Action with Forge Triggers
Take Action with Forge TriggersTake Action with Forge Triggers
Take Action with Forge Triggers
 
Observability and Troubleshooting in Forge
Observability and Troubleshooting in ForgeObservability and Troubleshooting in Forge
Observability and Troubleshooting in Forge
 
Trusted by Default: The Forge Security & Privacy Model
Trusted by Default: The Forge Security & Privacy ModelTrusted by Default: The Forge Security & Privacy Model
Trusted by Default: The Forge Security & Privacy Model
 
Designing Forge UI: A Story of Designing an App UI System
Designing Forge UI: A Story of Designing an App UI SystemDesigning Forge UI: A Story of Designing an App UI System
Designing Forge UI: A Story of Designing an App UI System
 
Forge: Under the Hood
Forge: Under the HoodForge: Under the Hood
Forge: Under the Hood
 
Access to User Activities - Activity Platform APIs
Access to User Activities - Activity Platform APIsAccess to User Activities - Activity Platform APIs
Access to User Activities - Activity Platform APIs
 
Design Your Next App with the Atlassian Vendor Sketch Plugin
Design Your Next App with the Atlassian Vendor Sketch PluginDesign Your Next App with the Atlassian Vendor Sketch Plugin
Design Your Next App with the Atlassian Vendor Sketch Plugin
 
Tear Up Your Roadmap and Get Out of the Building
Tear Up Your Roadmap and Get Out of the BuildingTear Up Your Roadmap and Get Out of the Building
Tear Up Your Roadmap and Get Out of the Building
 
Nailing Measurement: a Framework for Measuring Metrics that Matter
Nailing Measurement: a Framework for Measuring Metrics that MatterNailing Measurement: a Framework for Measuring Metrics that Matter
Nailing Measurement: a Framework for Measuring Metrics that Matter
 
Building Apps With Color Blind Users in Mind
Building Apps With Color Blind Users in MindBuilding Apps With Color Blind Users in Mind
Building Apps With Color Blind Users in Mind
 
Creating Inclusive Experiences: Balancing Personality and Accessibility in UX...
Creating Inclusive Experiences: Balancing Personality and Accessibility in UX...Creating Inclusive Experiences: Balancing Personality and Accessibility in UX...
Creating Inclusive Experiences: Balancing Personality and Accessibility in UX...
 
Beyond Diversity: A Guide to Building Balanced Teams
Beyond Diversity: A Guide to Building Balanced TeamsBeyond Diversity: A Guide to Building Balanced Teams
Beyond Diversity: A Guide to Building Balanced Teams
 
The Road(map) to Las Vegas - The Story of an Emerging Self-Managed Team
The Road(map) to Las Vegas - The Story of an Emerging Self-Managed TeamThe Road(map) to Las Vegas - The Story of an Emerging Self-Managed Team
The Road(map) to Las Vegas - The Story of an Emerging Self-Managed Team
 
Building Apps With Enterprise in Mind
Building Apps With Enterprise in MindBuilding Apps With Enterprise in Mind
Building Apps With Enterprise in Mind
 

AtlasCamp 2010: Needs more jQuery - Using advanced Javascript in Atlassian Plugins - Zach Davis