Writing Spark Applications

1 / 16
Preface - Different Kinds o...
 

Preface

While interacting with many learners, I realized that not many learners were aware of the real product software building. I am surprised and shocked to know that many learners were not even aware of the source code management. As mentioned earlier, I realized that not many software trainers are acquainted with the life cycle - they all seem to talk about the general stuff such water fall model and scrum.

So, I have written down the tutorial which would give you a walk through of building a software.

Kinds Of Applications

There are various kinds of Applications:

  1. Client Side Applications - Applications that run on the user's computer
  2. Server Side Applications - The programs that run on your servers inside data center

Examples


Calculator Android App

Client: Yes

Server: Yes


Angry Birds

Client: Yes (Major Work)

Server: Yes(mainly for showing leaderboard etc)


Amazon Website

Client: Mainly in HTML, CSS & Javascript

Server: Yes, heavily server (Java/Perl). Handles business logic and serves client side code and interfaces (HTML, CSS, Javascript)


Amazon Mobile App (mostly hybrid)

Client: Client (Some in Android, Webview - HTML, CSS & Javascript)

Server: Yes, heavily server (Java/Perl). Handles business logic and serves client side code and interfaces (HTML, CSS, Javascript).


Headless Backend Processing

(Such as backoffice works - reconciliations, fraud checks, recommendation generations, Image optimizations) Or services (Service Orient Architectures)

Client: No

Server: Mainly server. No User Interface. Different Application Interfaces


Here we are going to talk about development life cycle of mainly server side applications. Specifically, we would like to take a practical example of deploying a Spark Application - which is a headless backend - an application which doesn't have a user interface.