So last year I was involved in a project with a team consisting of 6 members from Pennsylvania State University and 3 members from Belgium Campus here in South Africa. We were developing an Unmanned Aerial Vehicle (UAV) from scratch which is basically a drone.
The American team consisted mostly of mechanical engineers and the South African team focussed on the software engineering aspect of the project and it was quite a bumpy ride. (I'm not so much a novice in the IT world but I've only begun to develop a keen interest in my career after 4 years of corporate experience and 3 years of studying for a bachelor's degree, that I decided to start a blog).
In our project, my other two teammates from the South African side were more knowledgeable and intelligent than I was when it came to software. So they were confident in developing an API to interface with the drone and the mobile and web apps we would develop.
Predictably, most of the workload fell on them while I struggled with Qt to run QGroundControl and also struggled with the installation of Android Studio because after developing a few screens for the mobile app, my team mates couldn't open the file and all my work went down the drain. Not to mention using bootstrap for the web template took me too long to perfect the website to a team mate's standard even though my sister assisted me.
I figured by starting this blog, I will be teaching myself something new frequently in the IT world and keep abreast of the latest technologies which is a requirement in this field.
So back to the video...
I found it very educational and the analogies used hit the mark. I liked the analogy of a restaurant wherein a waiter takes an order from the customer and fetches his/her food from the kitchen.
The customer is like a web app on the client side, the kitchen a server and the waitron an API. So basically an API is like a messenger between one piece of software and another, formatted to take specific instructions (orders) in a certain way and return data or a response (meal).
REST (Representational State Transfer) basically lets us use HTTP requests to format those messages sent through an API.
I'm currently applying for jobs now and many employers require from candidates knowledge of RESTful API's. I think this video is a good start to learn about them enough to show you have an understanding of what they are in an interview.
Now that I have the definition of a RESTful API under my belt I can "rest" assured that I will be able to define it in an interview.
No comments:
Post a Comment