Dussehra Offer - Flat 20% Off on All Courses | Offer Ending In :

Building Spark Application - End to End

1 / 16
 

Preface - Different Kinds of Applications

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.