Servers, Clients, APIs Why?

This article briefly covers APIs and Client/Server Side-Dev.

API or Application Program Interface allows for two software programs to communicate with each other, specifying how software components should interact while following a set of routines and protocols. APIs are often used in businesses where instead of creating a custom-developed software for a specific purpose, APIs are utilized, providing both useful features and efficient development time/cost; these APIs are often referenced as an open API (open to the public).

As mentioned, there are open and closed APIs; most open APIs allow for dynamic feature integration with larger companies like Google and Twitter. Some of the more popular APIs include:

Google Maps APIallows developers to embed Google Maps onto their webpages with the same features and functionality.

Twitter Search APIprovides developers with methods of interacting amongst Twitter search and trends data.

YouTube Data APIpresents developers with operations available on YouTube including uploading videos and modifying user playlists.


Server Side Development

This type of programming refers to the software that runs on a server including database systems, HTTP servers, and application servers; this allows for much more dynamic websites that deliver specific information in response to HTTP requests. Server side development is what allows users to submit forms, run APIs, access accounts, and so much more; this type of development is often referred to as back-end development.

Client Side Development

This aspect of programming defines the actions that take place on the client’s (user’s) computer; these actions are direct reactions based on the user’s input, everything from clicking, to hover animations, and page styling. Client side development (front-end development) creates the final webpage that all users finally see and can be edited entirely by the user themselves; Combining both server side and client side development is often known as full-stack development.

The Difference?

One of the biggest differences between client and server-side development is their programming languages; a few server-side programming languages include but are not limited to, Ruby, Python, PHP, C#, and Java; contrarily, HTML, CSS, and JavaScript are the only programming languages found within client-side development. Like specified earlier, client side data is everything seen by the user and can’t store anything longer than a page refresh; opposingly, data found on the server side is not seen by the client and holds persistent data (account data, profiles, etc.)


Final Thoughts

The best outcome of web development comes from combining server and client side development into a webpage where users can access a visually appeasing webpage while being able to save their data on a server for access elsewhere in a very efficient manner; becoming a full-stack developer takes time and effort, but once mastered amazing websites are built.