SlideShare ist ein Scribd-Unternehmen logo
1 von 17
Downloaden Sie, um offline zu lesen
TiConf NYC 2014:
Documenting Your Titanium
Applications
JAMIL HASSAN SPAIN,
@JAMILSPAIN
Little	
  Bit	
  About	
  me	
  
!   NC	
  based	
  Software	
  Engineer,	
  big	
  
linux	
  fan.	
  
!   Started	
  with	
  PHP	
  in	
  early	
  days	
  3.x	
  
or	
  PHP	
  F/I	
  
!   Started	
  with	
  AppC	
  in	
  2011	
  as	
  
Trainer	
  for	
  Certification	
  Programs	
  
!   Currently	
  Architect	
  with	
  Solutions	
  
Engineering	
  Group	
  
Little	
  History	
  on	
  This	
  Topic	
  
!   Built	
  my	
  first	
  large	
  scale	
  project	
  in	
  03/04.	
  Online	
  
Admissions	
  Web	
  Application	
  for	
  school.	
  	
  Really	
  became	
  a	
  
stickler	
  for	
  this	
  process.	
  
!   PHP	
  4/5,	
  LAMP	
  stack,	
  Fedora	
  Linux	
  as	
  base.	
  
!   Ran	
  into	
  2	
  different	
  schools	
  of	
  thought	
  
!   Code	
  should	
  be	
  written	
  to	
  be	
  readable	
  	
  
!   Document	
  regardless	
  to	
  explain	
  code	
  logic	
  
!   My	
  philosophy	
  merges	
  the	
  two,	
  PhpDocumentor	
  was	
  the	
  
cure	
  
Documentation	
  for	
  Titanium	
  Mobile	
  Applications	
  
!   No	
  standards	
  existed	
  for	
  documentation,	
  been	
  a	
  find	
  
your	
  own	
  flavor.	
  	
  
!   #appcelerator	
  uses	
  it	
  for	
  our	
  own	
  SDK	
  documentation.	
  
!   About	
  a	
  year	
  ago	
  internally,	
  after	
  discussion	
  with	
  Rick	
  
Blalock	
  mentioned	
  he	
  had	
  some	
  success	
  using	
  JSDuck.	
  	
  
After	
  playing	
  around	
  with	
  it,	
  we	
  agreed	
  this	
  could	
  be	
  a	
  
good	
  standard	
  to	
  recommend	
  	
  
!   I	
  began	
  the	
  R&D	
  on	
  the	
  best	
  way	
  to	
  implement	
  this	
  as	
  
easy	
  to	
  use	
  for	
  general	
  public	
  use.	
  
A	
  NPM	
  was	
  born	
  
!   Roughly	
  about	
  6	
  
months	
  ago.	
  
!   First	
  initial	
  versions	
  
are	
  out,	
  still	
  young	
  in	
  
usage.	
  Glad	
  to	
  be	
  here	
  
to	
  introduce	
  it	
  
officially	
  to	
  the	
  
community.	
  
One	
  requirement	
  is	
  JS	
  Duck	
  
!   JS	
  Doc	
  Generator	
  supported	
  by	
  Sencha	
  labs	
  
	
  
!   I	
  have	
  always	
  been	
  a	
  fan	
  from	
  Ext.JS	
  days	
  
!   Required	
  for	
  this	
  npm	
  package	
  to	
  work.	
  
!   gem	
  install	
  jsduck	
  
Features	
  for	
  Titanium-­‐JSDuck	
  
!   Installable	
  through	
  npm	
  install	
  	
  
!   CLI	
  options	
  to	
  automate	
  the	
  setup	
  in	
  your	
  mobile	
  
applications	
  
!   Injects	
  itself	
  on	
  every	
  compile	
  to	
  simulator/device	
  
(alloy.jmk	
  post:compile	
  )	
  
!   Options	
  to	
  generate	
  documentation	
  without	
  
compiling	
  
How	
  to	
  Install	
  	
  	
  
!   From	
  command,	
  do	
  a	
  global	
  install	
  for	
  the	
  titanium-­‐
jsduck	
  npm	
  module,	
  Version	
  1.2	
  is	
  the	
  latest	
  
!   URL	
  to	
  package	
  is:	
  
https://www.npmjs.org/package/titanium-­‐jsduck	
  
	
  
Verify	
  Installation	
  
!   Run	
  titanium-­‐jsduck	
  from	
  command	
  line,	
  will	
  return	
  
this	
  help	
  screen	
  
Activating	
  your	
  Mobile	
  Project	
  
!   Open	
  terminal	
  to	
  the	
  root	
  of	
  your	
  titanium	
  project	
  
!   Type	
  the	
  following	
  command:	
  
You’re	
  Done	
  
!   You’re	
  all	
  set	
  from	
  there!!!	
  Start	
  documenting.	
  
!   A	
  few	
  things	
  will	
  change	
  after	
  install	
  
!   If	
  alloy.jmk	
  does	
  not	
  exist,	
  we	
  create	
  it	
  
!   If	
  does,	
  we	
  back	
  it	
  up	
  (alloy.jmk.txt)	
  to	
  preserve	
  any	
  
existing	
  config	
  
!   Docs	
  folder	
  will	
  appear	
  (	
  source	
  for	
  JS	
  Duck	
  to	
  use	
  )	
  
Document	
  Your	
  Code	
  to	
  Integrate	
  
!   Please	
  view	
  Sencha	
  Labs	
  Documentation	
  for	
  
Convention	
  @	
  
https://github.com/senchalabs/jsduck/wiki	
  	
  	
  
! Jsduck	
  will	
  scan	
  your	
  /app	
  JS	
  files	
  for	
  doc	
  syntax	
  
!   Controller	
  files	
  
!   Lib	
  folder	
  contents	
  
How	
  do	
  I	
  View	
  the	
  Documentation	
  
!   3	
  options	
  exist	
  via	
  CLI	
  
!   Detects	
  to	
  see	
  if	
  Browsers	
  are	
  installed	
  in	
  
Applications	
  folder	
  
Typical	
  Dev	
  Workflow	
  
!   Create	
  Mobile	
  Project	
  &	
  Install	
  NPM	
  
!   titanium-­‐jsduck	
  install	
  
!   Code	
  &	
  Document	
  your	
  project	
  
!   docs	
  self	
  generate	
  on	
  compilation,	
  no	
  need	
  to	
  check	
  
into	
  source	
  control	
  
!   Open	
  Browser	
  to	
  View	
  Documentation	
  as	
  you	
  code	
  
!   titanium-­‐jsduck	
  open	
  (	
  first	
  time	
  )	
  
!   titanium-­‐jsduck	
  run	
  (	
  subsequent	
  +	
  refresh	
  browser	
  )	
  
Hello	
  World	
  Demo	
  
TITANIUM-­‐JSDUCK	
  NPM	
  MODULE	
  
Roadmap	
  
!   Additional	
  command	
  line	
  arguments	
  to	
  configure	
  
looks	
  and	
  feel	
  of	
  documentation	
  site	
  
!   Another	
  install	
  option	
  for	
  deluxe	
  documentation	
  to	
  
include	
  (	
  test	
  plans,	
  version	
  release	
  notes,	
  etc	
  )	
  
!   Testing	
  for	
  compatibility	
  with	
  Windows	
  8.1	
  
!   Compatibility	
  with	
  Platino	
  in	
  development	
  
!   Open	
  for	
  more	
  suggestions	
  on	
  more	
  improvements	
  
Thank	
  You	
  
JAMIL	
  HASSAN	
  SPAIN	
  
@jamilspain	
  

Weitere ähnliche Inhalte

Was ist angesagt?

Why continuous deployment keeps on giving
Why continuous deployment keeps on givingWhy continuous deployment keeps on giving
Why continuous deployment keeps on givingIntercom
 
Test Driven Development with OSGi - Balázs Zsoldos
Test Driven Development with OSGi - Balázs ZsoldosTest Driven Development with OSGi - Balázs Zsoldos
Test Driven Development with OSGi - Balázs Zsoldosmfrancis
 
Managing Jenkins with Jenkins (Jenkins User Conference Palo Alto, 2013)
Managing Jenkins with Jenkins (Jenkins User Conference Palo Alto, 2013)Managing Jenkins with Jenkins (Jenkins User Conference Palo Alto, 2013)
Managing Jenkins with Jenkins (Jenkins User Conference Palo Alto, 2013)Gareth Bowles
 
The Butler and the Snake - Continuous Integration for Python
The Butler and the Snake - Continuous Integration for PythonThe Butler and the Snake - Continuous Integration for Python
The Butler and the Snake - Continuous Integration for PythonTimo Stollenwerk
 
Continuous delivery of embedded systems embedded meetup
Continuous delivery of embedded systems   embedded meetupContinuous delivery of embedded systems   embedded meetup
Continuous delivery of embedded systems embedded meetupMike Long
 
Steve Sfartz - How to embed Messaging and Video in your apps - Codemotion Mil...
Steve Sfartz - How to embed Messaging and Video in your apps - Codemotion Mil...Steve Sfartz - How to embed Messaging and Video in your apps - Codemotion Mil...
Steve Sfartz - How to embed Messaging and Video in your apps - Codemotion Mil...Codemotion
 
Android developer's toolbox
Android developer's toolboxAndroid developer's toolbox
Android developer's toolboxAlex Verdyan
 
Porque Odeio Branches
Porque Odeio BranchesPorque Odeio Branches
Porque Odeio BranchesRafael Petry
 
Android Study Jam - Info Session
Android Study Jam - Info SessionAndroid Study Jam - Info Session
Android Study Jam - Info SessionDSCVSSUT
 
Magento Continuous Integration & Continuous Delivery @MM17HR
Magento Continuous Integration & Continuous Delivery @MM17HRMagento Continuous Integration & Continuous Delivery @MM17HR
Magento Continuous Integration & Continuous Delivery @MM17HRDenis Ristic
 
2013 10-28 php ug presentation - ci using phing and hudson
2013 10-28 php ug presentation - ci using phing and hudson2013 10-28 php ug presentation - ci using phing and hudson
2013 10-28 php ug presentation - ci using phing and hudsonShreeniwas Iyer
 
TDD on OSGi, in practice.
TDD on OSGi, in practice.TDD on OSGi, in practice.
TDD on OSGi, in practice.Elian, I.
 
Continuous Integration @ MeetMagento Germany 2015
Continuous Integration @ MeetMagento Germany 2015Continuous Integration @ MeetMagento Germany 2015
Continuous Integration @ MeetMagento Germany 2015Aleksey Razbakov
 
Continuous Integration and PHP
Continuous Integration and PHPContinuous Integration and PHP
Continuous Integration and PHPArno Schneider
 
The Butler and the Snake - JCICPH
The Butler and the Snake - JCICPHThe Butler and the Snake - JCICPH
The Butler and the Snake - JCICPHTimo Stollenwerk
 
Continuous Integration, the minimum viable product
Continuous Integration, the minimum viable productContinuous Integration, the minimum viable product
Continuous Integration, the minimum viable productJulian Simpson
 
10/29 Austin Ansible MeetUp - AnsibleFest Talk & Extending Ansible
10/29 Austin Ansible MeetUp - AnsibleFest Talk & Extending Ansible10/29 Austin Ansible MeetUp - AnsibleFest Talk & Extending Ansible
10/29 Austin Ansible MeetUp - AnsibleFest Talk & Extending Ansibletylerturk
 
Contributing To The Mozilla Codebase
Contributing To The Mozilla CodebaseContributing To The Mozilla Codebase
Contributing To The Mozilla CodebaseSouradeep De
 
Plog2014 doc the-new_deal
Plog2014 doc the-new_dealPlog2014 doc the-new_deal
Plog2014 doc the-new_dealPaul Roeland
 

Was ist angesagt? (20)

Why continuous deployment keeps on giving
Why continuous deployment keeps on givingWhy continuous deployment keeps on giving
Why continuous deployment keeps on giving
 
Test Driven Development with OSGi - Balázs Zsoldos
Test Driven Development with OSGi - Balázs ZsoldosTest Driven Development with OSGi - Balázs Zsoldos
Test Driven Development with OSGi - Balázs Zsoldos
 
Managing Jenkins with Jenkins (Jenkins User Conference Palo Alto, 2013)
Managing Jenkins with Jenkins (Jenkins User Conference Palo Alto, 2013)Managing Jenkins with Jenkins (Jenkins User Conference Palo Alto, 2013)
Managing Jenkins with Jenkins (Jenkins User Conference Palo Alto, 2013)
 
The Butler and the Snake - Continuous Integration for Python
The Butler and the Snake - Continuous Integration for PythonThe Butler and the Snake - Continuous Integration for Python
The Butler and the Snake - Continuous Integration for Python
 
Continuous delivery of embedded systems embedded meetup
Continuous delivery of embedded systems   embedded meetupContinuous delivery of embedded systems   embedded meetup
Continuous delivery of embedded systems embedded meetup
 
Steve Sfartz - How to embed Messaging and Video in your apps - Codemotion Mil...
Steve Sfartz - How to embed Messaging and Video in your apps - Codemotion Mil...Steve Sfartz - How to embed Messaging and Video in your apps - Codemotion Mil...
Steve Sfartz - How to embed Messaging and Video in your apps - Codemotion Mil...
 
Android developer's toolbox
Android developer's toolboxAndroid developer's toolbox
Android developer's toolbox
 
Porque Odeio Branches
Porque Odeio BranchesPorque Odeio Branches
Porque Odeio Branches
 
Android Study Jam - Info Session
Android Study Jam - Info SessionAndroid Study Jam - Info Session
Android Study Jam - Info Session
 
Magento Continuous Integration & Continuous Delivery @MM17HR
Magento Continuous Integration & Continuous Delivery @MM17HRMagento Continuous Integration & Continuous Delivery @MM17HR
Magento Continuous Integration & Continuous Delivery @MM17HR
 
2013 10-28 php ug presentation - ci using phing and hudson
2013 10-28 php ug presentation - ci using phing and hudson2013 10-28 php ug presentation - ci using phing and hudson
2013 10-28 php ug presentation - ci using phing and hudson
 
TDD on OSGi, in practice.
TDD on OSGi, in practice.TDD on OSGi, in practice.
TDD on OSGi, in practice.
 
Continuous Integration @ MeetMagento Germany 2015
Continuous Integration @ MeetMagento Germany 2015Continuous Integration @ MeetMagento Germany 2015
Continuous Integration @ MeetMagento Germany 2015
 
Continuous Integration and PHP
Continuous Integration and PHPContinuous Integration and PHP
Continuous Integration and PHP
 
The Butler and the Snake - JCICPH
The Butler and the Snake - JCICPHThe Butler and the Snake - JCICPH
The Butler and the Snake - JCICPH
 
Continuous Integration, the minimum viable product
Continuous Integration, the minimum viable productContinuous Integration, the minimum viable product
Continuous Integration, the minimum viable product
 
10/29 Austin Ansible MeetUp - AnsibleFest Talk & Extending Ansible
10/29 Austin Ansible MeetUp - AnsibleFest Talk & Extending Ansible10/29 Austin Ansible MeetUp - AnsibleFest Talk & Extending Ansible
10/29 Austin Ansible MeetUp - AnsibleFest Talk & Extending Ansible
 
Intro to Github
Intro to GithubIntro to Github
Intro to Github
 
Contributing To The Mozilla Codebase
Contributing To The Mozilla CodebaseContributing To The Mozilla Codebase
Contributing To The Mozilla Codebase
 
Plog2014 doc the-new_deal
Plog2014 doc the-new_dealPlog2014 doc the-new_deal
Plog2014 doc the-new_deal
 

Andere mochten auch

TOLL Cursus Opdracht Module 5-6 Carla Maeyens-Catherine Testelin-Anita Fauco...
TOLL Cursus Opdracht Module  5-6 Carla Maeyens-Catherine Testelin-Anita Fauco...TOLL Cursus Opdracht Module  5-6 Carla Maeyens-Catherine Testelin-Anita Fauco...
TOLL Cursus Opdracht Module 5-6 Carla Maeyens-Catherine Testelin-Anita Fauco...Godot
 
Animal Farm History
Animal Farm HistoryAnimal Farm History
Animal Farm Historyphilnichols
 
Judge a bookbyitscover
Judge a bookbyitscoverJudge a bookbyitscover
Judge a bookbyitscoverphilnichols
 
TiConf NYC - Documenting Your Titanium Applications
TiConf NYC - Documenting Your Titanium ApplicationsTiConf NYC - Documenting Your Titanium Applications
TiConf NYC - Documenting Your Titanium ApplicationsJamil Spain
 

Andere mochten auch (6)

SOCIAL MEDIA
SOCIAL MEDIASOCIAL MEDIA
SOCIAL MEDIA
 
TOLL Cursus Opdracht Module 5-6 Carla Maeyens-Catherine Testelin-Anita Fauco...
TOLL Cursus Opdracht Module  5-6 Carla Maeyens-Catherine Testelin-Anita Fauco...TOLL Cursus Opdracht Module  5-6 Carla Maeyens-Catherine Testelin-Anita Fauco...
TOLL Cursus Opdracht Module 5-6 Carla Maeyens-Catherine Testelin-Anita Fauco...
 
Animal Farm History
Animal Farm HistoryAnimal Farm History
Animal Farm History
 
Social NetWORKS!
Social NetWORKS!Social NetWORKS!
Social NetWORKS!
 
Judge a bookbyitscover
Judge a bookbyitscoverJudge a bookbyitscover
Judge a bookbyitscover
 
TiConf NYC - Documenting Your Titanium Applications
TiConf NYC - Documenting Your Titanium ApplicationsTiConf NYC - Documenting Your Titanium Applications
TiConf NYC - Documenting Your Titanium Applications
 

Ähnlich wie Documenting apps ti confnyc

The Development History of PVS-Studio for Linux
The Development History of PVS-Studio for LinuxThe Development History of PVS-Studio for Linux
The Development History of PVS-Studio for LinuxPVS-Studio
 
Shipping NodeJS with Docker and CoreOS
Shipping NodeJS with Docker and CoreOSShipping NodeJS with Docker and CoreOS
Shipping NodeJS with Docker and CoreOSRoss Kukulinski
 
OSCONF Jaipur - A Hitchhiker's Tour to Containerizing a Java application
OSCONF Jaipur - A Hitchhiker's Tour to Containerizing a Java applicationOSCONF Jaipur - A Hitchhiker's Tour to Containerizing a Java application
OSCONF Jaipur - A Hitchhiker's Tour to Containerizing a Java applicationNicolas Fränkel
 
Django Article V0
Django Article V0Django Article V0
Django Article V0Udi Bauman
 
Cross-platform Desktop Apps development using HTML, CSS, JS with Electron
Cross-platform Desktop Apps development using HTML, CSS, JS with ElectronCross-platform Desktop Apps development using HTML, CSS, JS with Electron
Cross-platform Desktop Apps development using HTML, CSS, JS with ElectronEsinniobiwa Quareeb
 
Building Commercial Applications with Oracle Applications Express by Scott Sp...
Building Commercial Applications with Oracle Applications Express by Scott Sp...Building Commercial Applications with Oracle Applications Express by Scott Sp...
Building Commercial Applications with Oracle Applications Express by Scott Sp...Enkitec
 
Hybrid Apps in a Snap
Hybrid Apps in a SnapHybrid Apps in a Snap
Hybrid Apps in a SnapPaulina Gallo
 
Building an Open Source iOS app: lessons learned
Building an Open Source iOS app: lessons learnedBuilding an Open Source iOS app: lessons learned
Building an Open Source iOS app: lessons learnedWojciech Koszek
 
System design for Web Application
System design for Web ApplicationSystem design for Web Application
System design for Web ApplicationMichael Choi
 
Django simplified : by weever mbakaya
Django simplified : by weever mbakayaDjango simplified : by weever mbakaya
Django simplified : by weever mbakayaMbakaya Kwatukha
 
From hello world to goodbye code
From hello world to goodbye codeFrom hello world to goodbye code
From hello world to goodbye codeKim Moir
 
How create react app help in creating a new react applications
How create react app help in creating a new react applications How create react app help in creating a new react applications
How create react app help in creating a new react applications Concetto Labs
 
ChrisSchilling_SideProjects
ChrisSchilling_SideProjectsChrisSchilling_SideProjects
ChrisSchilling_SideProjectsChris Schilling
 
Front-end development introduction (JavaScript). Part 2
Front-end development introduction (JavaScript). Part 2Front-end development introduction (JavaScript). Part 2
Front-end development introduction (JavaScript). Part 2Oleksii Prohonnyi
 
iOS development best practices
iOS development best practicesiOS development best practices
iOS development best practicesMichal Juhas
 
Introduction of deno 1
Introduction of deno 1Introduction of deno 1
Introduction of deno 1Vishal Sharma
 
DevOps Fest 2020. immutable infrastructure as code. True story.
DevOps Fest 2020. immutable infrastructure as code. True story.DevOps Fest 2020. immutable infrastructure as code. True story.
DevOps Fest 2020. immutable infrastructure as code. True story.Vlad Fedosov
 
Native Mobile Application Using Open Source
Native Mobile Application Using Open SourceNative Mobile Application Using Open Source
Native Mobile Application Using Open SourceAxway Appcelerator
 
OSCON Titanium Tutorial
OSCON Titanium TutorialOSCON Titanium Tutorial
OSCON Titanium TutorialKevin Whinnery
 

Ähnlich wie Documenting apps ti confnyc (20)

The Development History of PVS-Studio for Linux
The Development History of PVS-Studio for LinuxThe Development History of PVS-Studio for Linux
The Development History of PVS-Studio for Linux
 
Shipping NodeJS with Docker and CoreOS
Shipping NodeJS with Docker and CoreOSShipping NodeJS with Docker and CoreOS
Shipping NodeJS with Docker and CoreOS
 
OSCONF Jaipur - A Hitchhiker's Tour to Containerizing a Java application
OSCONF Jaipur - A Hitchhiker's Tour to Containerizing a Java applicationOSCONF Jaipur - A Hitchhiker's Tour to Containerizing a Java application
OSCONF Jaipur - A Hitchhiker's Tour to Containerizing a Java application
 
Django Article V0
Django Article V0Django Article V0
Django Article V0
 
Cross-platform Desktop Apps development using HTML, CSS, JS with Electron
Cross-platform Desktop Apps development using HTML, CSS, JS with ElectronCross-platform Desktop Apps development using HTML, CSS, JS with Electron
Cross-platform Desktop Apps development using HTML, CSS, JS with Electron
 
Building Commercial Applications with Oracle Applications Express by Scott Sp...
Building Commercial Applications with Oracle Applications Express by Scott Sp...Building Commercial Applications with Oracle Applications Express by Scott Sp...
Building Commercial Applications with Oracle Applications Express by Scott Sp...
 
Build a chatroom!
Build a chatroom!Build a chatroom!
Build a chatroom!
 
Hybrid Apps in a Snap
Hybrid Apps in a SnapHybrid Apps in a Snap
Hybrid Apps in a Snap
 
Building an Open Source iOS app: lessons learned
Building an Open Source iOS app: lessons learnedBuilding an Open Source iOS app: lessons learned
Building an Open Source iOS app: lessons learned
 
System design for Web Application
System design for Web ApplicationSystem design for Web Application
System design for Web Application
 
Django simplified : by weever mbakaya
Django simplified : by weever mbakayaDjango simplified : by weever mbakaya
Django simplified : by weever mbakaya
 
From hello world to goodbye code
From hello world to goodbye codeFrom hello world to goodbye code
From hello world to goodbye code
 
How create react app help in creating a new react applications
How create react app help in creating a new react applications How create react app help in creating a new react applications
How create react app help in creating a new react applications
 
ChrisSchilling_SideProjects
ChrisSchilling_SideProjectsChrisSchilling_SideProjects
ChrisSchilling_SideProjects
 
Front-end development introduction (JavaScript). Part 2
Front-end development introduction (JavaScript). Part 2Front-end development introduction (JavaScript). Part 2
Front-end development introduction (JavaScript). Part 2
 
iOS development best practices
iOS development best practicesiOS development best practices
iOS development best practices
 
Introduction of deno 1
Introduction of deno 1Introduction of deno 1
Introduction of deno 1
 
DevOps Fest 2020. immutable infrastructure as code. True story.
DevOps Fest 2020. immutable infrastructure as code. True story.DevOps Fest 2020. immutable infrastructure as code. True story.
DevOps Fest 2020. immutable infrastructure as code. True story.
 
Native Mobile Application Using Open Source
Native Mobile Application Using Open SourceNative Mobile Application Using Open Source
Native Mobile Application Using Open Source
 
OSCON Titanium Tutorial
OSCON Titanium TutorialOSCON Titanium Tutorial
OSCON Titanium Tutorial
 

Kürzlich hochgeladen

The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 

Kürzlich hochgeladen (20)

The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 

Documenting apps ti confnyc

  • 1. TiConf NYC 2014: Documenting Your Titanium Applications JAMIL HASSAN SPAIN, @JAMILSPAIN
  • 2. Little  Bit  About  me   !   NC  based  Software  Engineer,  big   linux  fan.   !   Started  with  PHP  in  early  days  3.x   or  PHP  F/I   !   Started  with  AppC  in  2011  as   Trainer  for  Certification  Programs   !   Currently  Architect  with  Solutions   Engineering  Group  
  • 3. Little  History  on  This  Topic   !   Built  my  first  large  scale  project  in  03/04.  Online   Admissions  Web  Application  for  school.    Really  became  a   stickler  for  this  process.   !   PHP  4/5,  LAMP  stack,  Fedora  Linux  as  base.   !   Ran  into  2  different  schools  of  thought   !   Code  should  be  written  to  be  readable     !   Document  regardless  to  explain  code  logic   !   My  philosophy  merges  the  two,  PhpDocumentor  was  the   cure  
  • 4. Documentation  for  Titanium  Mobile  Applications   !   No  standards  existed  for  documentation,  been  a  find   your  own  flavor.     !   #appcelerator  uses  it  for  our  own  SDK  documentation.   !   About  a  year  ago  internally,  after  discussion  with  Rick   Blalock  mentioned  he  had  some  success  using  JSDuck.     After  playing  around  with  it,  we  agreed  this  could  be  a   good  standard  to  recommend     !   I  began  the  R&D  on  the  best  way  to  implement  this  as   easy  to  use  for  general  public  use.  
  • 5. A  NPM  was  born   !   Roughly  about  6   months  ago.   !   First  initial  versions   are  out,  still  young  in   usage.  Glad  to  be  here   to  introduce  it   officially  to  the   community.  
  • 6. One  requirement  is  JS  Duck   !   JS  Doc  Generator  supported  by  Sencha  labs     !   I  have  always  been  a  fan  from  Ext.JS  days   !   Required  for  this  npm  package  to  work.   !   gem  install  jsduck  
  • 7. Features  for  Titanium-­‐JSDuck   !   Installable  through  npm  install     !   CLI  options  to  automate  the  setup  in  your  mobile   applications   !   Injects  itself  on  every  compile  to  simulator/device   (alloy.jmk  post:compile  )   !   Options  to  generate  documentation  without   compiling  
  • 8. How  to  Install       !   From  command,  do  a  global  install  for  the  titanium-­‐ jsduck  npm  module,  Version  1.2  is  the  latest   !   URL  to  package  is:   https://www.npmjs.org/package/titanium-­‐jsduck    
  • 9. Verify  Installation   !   Run  titanium-­‐jsduck  from  command  line,  will  return   this  help  screen  
  • 10. Activating  your  Mobile  Project   !   Open  terminal  to  the  root  of  your  titanium  project   !   Type  the  following  command:  
  • 11. You’re  Done   !   You’re  all  set  from  there!!!  Start  documenting.   !   A  few  things  will  change  after  install   !   If  alloy.jmk  does  not  exist,  we  create  it   !   If  does,  we  back  it  up  (alloy.jmk.txt)  to  preserve  any   existing  config   !   Docs  folder  will  appear  (  source  for  JS  Duck  to  use  )  
  • 12. Document  Your  Code  to  Integrate   !   Please  view  Sencha  Labs  Documentation  for   Convention  @   https://github.com/senchalabs/jsduck/wiki       ! Jsduck  will  scan  your  /app  JS  files  for  doc  syntax   !   Controller  files   !   Lib  folder  contents  
  • 13. How  do  I  View  the  Documentation   !   3  options  exist  via  CLI   !   Detects  to  see  if  Browsers  are  installed  in   Applications  folder  
  • 14. Typical  Dev  Workflow   !   Create  Mobile  Project  &  Install  NPM   !   titanium-­‐jsduck  install   !   Code  &  Document  your  project   !   docs  self  generate  on  compilation,  no  need  to  check   into  source  control   !   Open  Browser  to  View  Documentation  as  you  code   !   titanium-­‐jsduck  open  (  first  time  )   !   titanium-­‐jsduck  run  (  subsequent  +  refresh  browser  )  
  • 15. Hello  World  Demo   TITANIUM-­‐JSDUCK  NPM  MODULE  
  • 16. Roadmap   !   Additional  command  line  arguments  to  configure   looks  and  feel  of  documentation  site   !   Another  install  option  for  deluxe  documentation  to   include  (  test  plans,  version  release  notes,  etc  )   !   Testing  for  compatibility  with  Windows  8.1   !   Compatibility  with  Platino  in  development   !   Open  for  more  suggestions  on  more  improvements  
  • 17. Thank  You   JAMIL  HASSAN  SPAIN   @jamilspain