It doesn’t hurt to repeat the ABC’s of web development. Below is a brain-friendly (aka, not too long) list of 7 keywords. Imagine someone from non-technical background approaches you and asks you to describe them. How well can you give a good, jargon-free explanation of each term?

1. HTTP (HyperText Transfer Protocol)

the primary application-level protocol for web components

2. REST (REpresentational State Transfer)

an abstraction of the actual architecture of the web

3. 3 core elements of REST architectures
  • Data: actual resources and the exchanged representations
  • Components: client, origin server, and any intermediate parties
  • Connectors: allow communication between RESTful interfaces and other type of interface

4. Uniformity principles of RESTful interfaces
  • URI mechanism, to identify resources
  • Manipulation of resources through representations
  • Self-descriptive messages
  • Implementing HATEOAS (Hypermedia As The Engine Of Application State)

5. MVC (Model-View-Controller)

a software architectural pattern that divides a given app into 3 interconnected logic blocks

  • Model: the data object and the constraints associated with it
  • View: user interface, based on the data contained in the model and the actions passed by the controller
  • Controller: logic center; also manages caching, helper modules and user sessions

6. TDD (Test Driven Development)
  • approach to software development suggesting that you should first write the tests for some code before you write the actual code, to verify that individual modules are correct in isolation (aka, to make sure things work). TDD facilitates incremental development and refactoring.

7. Web API (Application Programming Interface)

RESTful API is a REST interface exposing some internal functionality of a software system to developers and external apps.

Read more on RESTful Rails Development (link) by Silvia Puglisi