Types of Software Development

Front-End Development

  • Front-End Development involves creating the user interface using markup languages and other tools.
  • It focuses on the user side, emphasizing user interaction.
  • The front-end is the most visible, accessible, and usable part of a software application.
  • Front-End development is critical for the success of a project.
  • The purpose of front-end development is to make things that are easy to use and good to look at.
  • Programming Languages:
    • Javascript
    • CSS
    • HTML
  • Frameworks:
    • AV
    • BS
    • BULMA
  • Methods for Achieving Responsiveness:
    • Breakpoints
    • Flexible Images
    • Flexible Grids
    • Media Queries
  • Frontend Security:
    • Attacks that can make your web page more risky:
      • DoS (denial of service) attacks
      • Preventing cross-site request forgery (CSRF)
      • Cross-site scripting (XSS) attacks

Back-End Development

  • Backend Development involves the logic, database, and other operations that are built behind the scenes to run the web servers efficiently.
  • It involves the creation and maintenance of server side logic that operates behind the scenes of web applications, APIs and other software systems.
  • Components:
    • API
    • Application Servers
    • Database
  • Qualities:
    • Efficiency
    • Scalability
    • Security
  • Programming Languages:
    • JavaScript (Node.js)
    • Python
    • Ruby
    • Java
    • C#
  • Frameworks:
    • Express
    • Ruby on Rails
    • Django
    • Spring
    • .Net
  • Database:
    • MySQL
    • PostgreSQL
    • MongoDB

API (Application Programming Interface)

  • API (Application Programming Interface) is a collection of communication protocols and subroutines used by various programs to communicate between them.
  • It is code that enables two software programs to communicate.
  • An API facilitates the exchange of data, features and functionalities between software applications.
  • APIs are the digital glue that connects the modern web.
  • The working of an API can be clearly explained with a few simple steps. Think of a client-server architecture where the client sends the request via a medium to the server and receives the response through the same medium. An API acts as a communication medium between two programs or systems for functioning.
  • Steps followed in the working of APIs
    • The client initiates the requests via the APIs URI (Uniform Resource Identifier)
    • The API makes a call to the server after receiving the request
    • Then the server sends the response back to the API with the information
    • Finally, the API transfers the data to the client
  • API Technologies / Architectural Styles
    • It recommend the kind of architecture your API should follow.
      • REST (Representational State Transfer)
      • SOAP (Simple Object Access Control)
      • GraphQL
      • gRPC
      • WebSockets

REST (Representational State Transfer)

  • Popular and widely used API architecture style.
  • RESTful APIs uses Http request to post, create, put, update, get, read and delete.

SOAP (Simple Object Access Control)

  • An older technology that uses XML as its messaging format.
  • SOAP APIs are known for their reliability and security.

GraphQL

  • This is a query language for API that was developed by Facebook.
  • It enables the client to request exactly the data they need.
  • GraphQL APIs are known for their flexibility and efficiency.

gRPC

  • This is a high performance open source that is remote procedure call framework that is widely used for building APIs.
  • gRPC enables developers to build efficient and scalable APIs using a wide range of programming languages.

WebSockets

  • This is a protocol for bidirectional real time communication between a client and the server.

Programming Languages

  • Python
  • Javascript
  • C#
  • Java
  • Ruby
  • GO
  • PHP

How to Create APIs?

  • Few easy steps in creating APIs:
    • Plan your goal and the intended users
    • Design the API architecture
    • Develop (Implement the code) and Test API
    • Monitor its working and work on feedback

Restrictions of Using APIs

  • Three main types of policies governing APIs:
    • Private: These APIs are only made for a single person or entity.
    • Partner: It gives the authority to use APIs to some partners of entities that own APIs for their private use.
    • Public: You can only find these APIs in the market for your own use if you don’t own specific API access from some entity that owns private these APIs for their private use.