There are two aspects of computer architecture. They are :
- Front End
- Back End
This means the computer program that you are using is of an app/website. Typically, apps have a bigger footprint (code) than a website. Apps are accessed through different tools like the mobile phone, tablet or sometimes your desktop/laptop. You have the play store (Android) or app store (Apple) hosting many kinds of programs ranging from personal fitness to corporate applications. The front end in case you are accessing a website is called as a thin client. This is because of the reason that you are using typically a browser. (Like Chrome / Firefox / IE etc) A browser is a small amount of code which fetches pages from the backend (server) and renders it. When you are using a browser, a lot of computing/storage power is underutilized. What you need is a strong internet connection. The web server (backend) serves the pages to the client.
There are 3 kinds of Servers
- Web Server
- Database Server
- Application Server
Webservers typically use programs like PHP (this is a programming language) and are responsible for transmitting the output arrived at, by the other 2 types of servers, to the client. Database server as the name indicates is a database like say ORACLE (RDBMS) or Cassandra (NoSQL). There are many other types of Database servers also. Application server sometimes is used to encapsulate business logic. There are many kinds of programming languages like Java, RubyonRails, Scala, etc. used by the backend. They stretch compute and storage. With the advent of the cloud, you can provision all these servers in less than a minute. If you have skills of both the front and back end, you are a full stack developer. And this programming is called full stack development.
A wise idea if you have lots of time. Otherwise, people specialize either in client or server. A working knowledge of the languages and platforms is essential. Go ahead, take a shot at what you want to specialize in. Update yourself with the tech trends.
God Bless …