Your SlideShare is downloading. ×
Technology Choosing Strategies for Web and Mobile Applications
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Technology Choosing Strategies for Web and Mobile Applications

699
views

Published on


0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
699
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
9
Comments
0
Likes
1
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

Transcript

  • 1. Technology Selection Strategies for Web and Mobile Applications
    Henry Sampson
  • 2. Is this worth our time?
    What is the time?
  • 3. Is this worth our time?
    Now, what is the time?
  • 4. Is this worth our time?
    This is similar to our technology landscape today
    The internet is filled with tons of languages, frameworks and/or libraries to choose from
  • 5. Is this worth our time?
    There are over 2000 High Level languages today [http://www.cs.man.ac.uk/~pjj/cs1001/software/node3.html#SECTION00033000000000000000]
  • 6. Is this worth our time?
    Making such decisions are at the core of Software Development
    Difference between delivering on time and late
    Difference between going above or staying within budget
  • 7. How are we making decisions today?
    Religious Affiliations
    Some are devoted to
    .NET
    Java
    Ruby
    Erlang
    Company Policy
    Knowledge and familiarity
  • 8. Questions to Consider
    Who or why are you developing the application?
    Enterprise
    Personal
    Leisure/Fun
    Automation
    What problem are you solving?
    Content
    Security
    Communication
    Reporting
    Tracking
  • 9. Questions to Consider
    How soon are you to finish?
    1 week (prototype)
    1 month (Patch)
    1 year (Government Project)
    What SLA has been imposed on you?
    Reliability
    Availability
    Scalability
    What phones will run your application? (Mobile)
    What is your budget?
  • 10. Key Decision Points (Web)
    Language
    UI mark-up: HTML, JavaScript, Java (applet)
    Server-side: PHP, .NET, J2EE, Python
    Storage
    RDBMS: PostgreSQL, MySQL, SQL Server, Oracle
    File: Well…depends on the complexity of your mind
    Cloud: Amazon EC2, Cassandra
    Monitoring
    Log files: Language specific
    Messaging Passing: JMS, MPI
    Website usage service: Google Analytics
  • 11. Key Decision Points (Mobile)
    Language
    Java (Android)
    J2ME
    Python
    Ruby
    Objective C (iPhone)
    Storage
    RDBMS: Apache Derby, Java DB, Floggy, SQLite,
    File: Records Management Store (RMS)
    Monitoring
    HTTP: more commonly used
    RMS
  • 12. Case Study 1
    MoTeCH
  • 13. Requirements
    Develop a Maternal Health Software on top of OpenMRS (MoTeCH Server)
    J2EE
    Spring, Hibernate, Quartz, Maven, Tomcat
    Develop a mobile app that communicates with MoTeCH Server
    Data Entry
    Query Server
  • 14. Technologies Used (Server)
    J2EE – Largely influenced by OpenMRS
    Spring: IoC, Transaction Management
    Hibernate: Persistence Framework
    Maven: Project Management
    MySQL: RDBMS
    Tomcat: Servlet Container
    Quartz: Scheduling
    EasyMock: Testing
    OpenXData: Mobile Data Entry
  • 15. Technologies Used (Mobile)
    J2ME
    OpenXData: Mobile Data Entry
    Custom Serializer library for transporting objects to server
  • 16. Case Study 2
    myTXTbuddy
  • 17. Requirements
    Develop online bulk messaging service
    Must be significantly faster than current desktop applications
    UI must be superior to current market offering
  • 18. Technologies Used
    PHP: Front end marketing pages
    Sencha: Data Binding UI component
    jQuery: Front-end k3ts3 (beautification)
    J2EE
    Spring
    Hibernate
    Quartz
    GSON: JSON to Java Object
    Log4J: Logging Framework
  • 19. Key Points
    You must meet your requirements before experimenting
    Consider the number of people using the technology – COMMUNITY
    Be Open-minded and not religious
    Not the best idea to choose new technologies for a new project.
    Experiment with different technologies in your leisure
  • 20. Questions?