Next Generation Apps

Utilizing technology to improve the quality of the applications

What?

What are these next gen apps?

Applications that are:

  • Easy to use
  • Great UI / UX
  • Follow the technical standards
  • Easy to develop, deploy and launch
  • Completely secure and sandboxed
  • Built on latest technologies*

How?

How do we create these next gen apps?

Categories

  • Model level technologies
  • Server-side technologies
  • Client-side technologies
  • Development technologies
  • Deployment technologies
  • Launch technologies

Model Level Technologies

Machine Learning

  • Natural Language Processing

  • Analytics embedded into apps

  • Artificial Intelligence

  • More Complex models

Server-side Technologies

Lowering Latency for the requests

  • Server side caching
  • HTTP Caching
  • Using CORS, Mimes and Manifestations
  • Enable ETAGS and Expiration Headers
  • GZIP Compression
  • Session Management
  • Appropriate type of server

Security

  • SSL (HTTPS)
  • Prevention of Injection Attacks
  • Preventing XSS (Cross Site Scripting)
  • Correct File / Folder Access
    • 777 permissions
    • Sniffing during upload
    • Sensitive files
    • Hidden files

Data Storage

  • Different Database types
    • PSQL
    • NOSQL
      • MongoDB / Cassandra
      • Amazon Dynamo DB
  • Files Storage
    • Server Storage / Amazon EBS
    • Amazon S3 / CDN
    • Amazon Glacier

Collaboration

  • Firebase
  • Node.js
  • WebRTC
  • Media Servers
  • External Apps

APIs

  • Provide External APIs

  • Industry Standard APIs

Client Side Technologies

Scaffolding

  • Mobile First Approach
  • Touch compatible interfaces
  • Responsive Layouts
  • Mobile Compliancy
  • User Interactivity

Design / UX

  • Canvas
  • SASS and HTML5
  • Design Templates
  • WebGL
  • Animations
    • DOM Movements
    • CSS3 Frames

Performance

  • App Caching
  • Local Storage
  • Preventing XSS Attacks
  • Memory Management
  • Cross-Browser Compatibility
  • IndexedDB and WebSQL
  • Printable CSS
  • Code Security

Development Technologies

Automation

  • Code Scaffolding
  • GruntJS
  • Package Management
  • Less time consuming technologies / libraries
    • CoffeeScript
    • HAML
  • Creating Libraries for most used things

Testing

  • Functional Testing
  • UI Testing
  • Test plans
  • Unit Testing

Process Improvements

  • Code Review
  • Maintaining and Logging versions
    • Readme file
    • Change Log

Deployment Technologies

Automation

  • Continous Integration Server
  • Deployment Automation
    • Ansible
    • Loadbalancing
    • AWS
    • Stateless
  • Content Delivery Network
  • Assigning access and privileges to devs

Launch Technologies

Final View

  • Chrome Apps
    • Packaged Apps
    • Managed Apps
  • Multi-platform native applications
    • For Assessments
    • For single point of development
Made with Slides.com