Your SlideShare is downloading. ×
  • Like
Codestrong 2012 breakout session   alloy (mvc) app framework overview
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Now you can save presentations on your phone or tablet

Available for both IPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Codestrong 2012 breakout session alloy (mvc) app framework overview

  • 901 views
Published

 

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
901
On SlideShare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
22
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide
  • MVC FrameworkCommon, uniform development patternSeparation of concernsViews, controllers, models… also styles, migrations, and a few other powerful featuresDeclarative UIXML-based representation of Ti APIMakes API usage much easierIncreased readability and scalabilityFree and open sourceAvailable on githubLots of contributions already (50+ forks, 250+ stars)Project transparencyHighly customizableOpen sourceWidgetsAdaptersawesome- No “why” slide, because it’s obvious- Will change the way you write Titanium apps forever
  • Hard to identify the overall structure of the UIComments are essentially making this readableRepetitive assignments of stylesNecessary to understand how certain APIs interact (addTab() or window as a creation time property)
  • UI very clearSeparation of view hierarchy and styleAPI level styling, less repetitionNo JS code yet
  • Single line of codeDon’t need to tell you the impact this will have on both beginner and advanced developersReducing learning curveGood developers are on a quest to eradicate code (more testing, validation, complexity)Ideas -> apps, even if you aren’t a developer by day
  • Brief overview of each folder in the structure.
  • 175 lines of code Doesn’t even account for how you would interface with the widget (creating tables, handling the returned book data)You need to carry it aroundIt also wouldn’t manage the dependency on the loading widget
  • Alloy.CFGGenerated from your config.jsonGlobally available values based on deployment type and OSBuiltinsUseful JS libraries integrated with AlloyBackbone & underscoreGrowing list, string operations, titanium animations, social networkingOptimizationsUglifyjsEliminate dead codeCompiler directives (platform, deploy type)Errors- Catch all view, style, and JS errorsTabGroup will tell you if you aren’t adding tabs to it, or if you forget to add a window to the tabSame with navGroup
  • Surfaces potential errors- We’ll be able to catch errors that would occur under only certain circumstances at runtime at compile time instead. Think of the case of a Window that opens from a button click and that Window has invalid code/markup.
  • 175 lines of code Doesn’t even account for how you would interface with the widget (creating tables, handling the returned book data)You need to carry it aroundIt also wouldn’t manage the dependency on the loading widget

Transcript

  • 1. Alloy AppFramework Overview Tony Lukasavage Lead Alloy Engineer Appcelerator @tonylukasavage tlukasavage@appcelerator.com
  • 2. What is Alloy? • MVC Framework • Declarative UI • Free and open source • Highly customizable • Awesome. Yes, awesome.
  • 3. Titanium App
  • 4. Alloy App
  • 5. index.js
  • 6. Structure • Primary • views • controllers • styles • models • assets • Optional • lib • migrations • widgets • Platform-specific folders
  • 7. Views • IDs and classes • Platform and form factor specific markup • Inline events • API parsers
  • 8. Styles • TSS format • Titanium constants • Localization • Alloy configuration items • Group by ID, class, or Ti API • Device queries • Global style
  • 9. Controllers • Element access via $ • Public interface via exports • Compiler directives • Backbone eventing • Underscore and builtins • Anything Titanium can do
  • 10. Models • Backbone Models & Collections • Persistence adapters • Migration support
  • 11. Widgets • Self-contained UI and logic • Work in any Alloy app • Cross-platform • Simple to complex
  • 12. TraditionalLibrary
  • 13. Compilation • Generates CommonJS controller modules • builtins • Optimizations • Catch errors before runtime
  • 14. Error output • Faster development iterations • Surfaces potential errors
  • 15. Getting Started • Quick Start: bit.ly/alloyqs • [sudo] npm install –g alloy • TiStudio/TiSDK 3.0 • More Information • Wiki docs: bit.ly/alloy_docs • Google Groups: bit.ly/alloy_group • Github: github.com/appcelerator/alloy
  • 16. github.com/appcelerator/Codestrong
  • 17. Tony Lukasavage @tonylukasavagetlukasavage@appcelerator.com
  • 18. Scaffolding