32
Wednesday, November 2, 2011

Community Code: The TouchForums App

  • Upload
    sencha

  • View
    4.264

  • Download
    0

Embed Size (px)

DESCRIPTION

This session will discuss the “TouchForums” mobile app, which is built with SenchaTouch and currently in development. The app combines features available in the Sencha forums and the support portal. In its current state, the app runs on Sencha Touch 1.1.1, but will be migrated to Sencha Touch 2.0 in the near future. From an architectural level the app is built using MVC, and incorporates history support and unit tests run via Jasmine/JsTestRunner.

Citation preview

Page 1: Community Code: The TouchForums App

Wednesday, November 2, 2011

Page 2: Community Code: The TouchForums App

Arthur Kay, Sencha@arthurakay

Mitchell Simoens, Sencha@msims84

TouchForums App

Wednesday, November 2, 2011

Page 3: Community Code: The TouchForums App

What Is TouchForums?

Wednesday, November 2, 2011

Page 4: Community Code: The TouchForums App

Sencha Forum Browser &Support Portal Tool

SearchingProfilesSubscriptionsMessages

Support TicketsEtc...

Concept

*Currently in development...No release date available.

Wednesday, November 2, 2011

Page 5: Community Code: The TouchForums App

Some Background...Originally an excuse to learn Sencha Touch - Based on Ext JS “Forum Browser” Example

Side Project of Professional Services - Playground for ideas

We spend a lot of time on the forums... ...even on our phones and tablets.

Wednesday, November 2, 2011

Page 6: Community Code: The TouchForums App

Technical DetailsBuilt with Sencha Touch 1.1.1

MVC Architecture

SASS Template

Loading graphic built with Sencha Animator

History Support

Unit Testing with Jasmine/JsTestDriver

PHP API

BBCode Parsing

Wednesday, November 2, 2011

Page 7: Community Code: The TouchForums App

vBulletin Mobile API

BBCode Parsing

Unit Testing

Multiple Databases

Time & Resources

Challenges

Wednesday, November 2, 2011

Page 8: Community Code: The TouchForums App

Future PlansMigrate to Sencha Touch 2.0

Integration with Support Portal

Automated Unit Tests

Rewrite of API using Node.JS

Adding Touch Charts for reporting

Public launch!

Wednesday, November 2, 2011

Page 9: Community Code: The TouchForums App

Acknowledgments

Thank You!

Wednesday, November 2, 2011

Page 10: Community Code: The TouchForums App

David KanedaDoug HendricksHyle Campbell

Acknowledgments

Thank You!

Wednesday, November 2, 2011

Page 11: Community Code: The TouchForums App

MVC Architecture

Wednesday, November 2, 2011

Page 12: Community Code: The TouchForums App

Architecture

Wednesday, November 2, 2011

Page 13: Community Code: The TouchForums App

Sencha MVC pattern

Data described in ModelsPresentation in ViewsAll logic in ControllersUtility classes for reuse

Allows for easy unit tests!

Architecture

Wednesday, November 2, 2011

Page 14: Community Code: The TouchForums App

Model

Wednesday, November 2, 2011

Page 15: Community Code: The TouchForums App

View

Wednesday, November 2, 2011

Page 16: Community Code: The TouchForums App

Controller

Wednesday, November 2, 2011

Page 17: Community Code: The TouchForums App

Store

Wednesday, November 2, 2011

Page 18: Community Code: The TouchForums App

SASS

Wednesday, November 2, 2011

Page 19: Community Code: The TouchForums App

SASS

Wednesday, November 2, 2011

Page 20: Community Code: The TouchForums App

Unit Testing

Wednesday, November 2, 2011

Page 21: Community Code: The TouchForums App

Jasmine / JsTestDriver

Wednesday, November 2, 2011

Page 22: Community Code: The TouchForums App

Unit Tests != Integration

Wednesday, November 2, 2011

Page 23: Community Code: The TouchForums App

Environment

Setup/Teardown

Mocks/Stubs

...something we struggle with!

Unit Tests != Integration

Wednesday, November 2, 2011

Page 24: Community Code: The TouchForums App

Unit Tests

Wednesday, November 2, 2011

Page 25: Community Code: The TouchForums App

JsTestDriver

Wednesday, November 2, 2011

Page 26: Community Code: The TouchForums App

API

Wednesday, November 2, 2011

Page 27: Community Code: The TouchForums App

vBulletin Mobile API

Wednesday, November 2, 2011

Page 28: Community Code: The TouchForums App

Not helpful

Originally why we chose PHP

Manual SESSION and SQL

Handle both JSON and JSONP

vBulletin Mobile API

Wednesday, November 2, 2011

Page 29: Community Code: The TouchForums App

Rewrite in Node.JS

Wednesday, November 2, 2011

Page 30: Community Code: The TouchForums App

PHP... is lame

Unit test via same framework

Unity in client/server development

Rewrite in Node.JS

Wednesday, November 2, 2011

Page 31: Community Code: The TouchForums App

Wednesday, November 2, 2011

Page 32: Community Code: The TouchForums App

Q&A

Wednesday, November 2, 2011