**Here I focused only on the name of the topics you need to know, not the details around it **
Web development means development of all the necessary tasks required to host applications or websites on the internet. Web development includes- UI, UX, Front-end and Back-end.
All the tasks associated with web development might not ensure its proper ranking on the search engine results as it is the work of another specialization named SEO (Search Engine Optimization) about which I will not talk here.
UI and UX
UX (User Experience) considers the overall experience or feels for the users. It is all about how the overall interaction feels. A UX designer conducts user research and bridges the gap between the user’s needs and the needs of the business. The key skills of a UX designer are- collaboration, communication, empathy, creating user stories and personas, wireframing, prototyping, understanding the information architecture, testing the user and usability.UI (User Interface) considers the way of designing all the visual, interactive elements of a digital product. It is what you see to interact with a product (buttons, visuals, screens etc). A UI designer creates a visual style guide, ensures the responsiveness of the design, collaborates with UX designers and developers. The key skills of a UI designer are visual branding skills like typography, colour theory, icon design etc, wireframing and prototyping, animation and interactivity, and knowing how responsive design works.
The roadmap of UX and UI -
User Research (by UX Designer) --> Product Idea (by UX designer and business stakeholders) --> Determination of information architecture(by UX Designer) --> Wireframing and Prototyping (by UX Designer) --> UX designer hands over all the data to the UI designer --> Product Design (by UI Designer)
--> UI designer hands the full design to the developers.
Front-end Development
It is also known as client-side development, relating to or denoting the part of a computer system or application with which the user interacts directly. To be a front-end developer you will need to understand the branding and design concepts, understand the fundamental concepts of programming and need to have communication with back-end developers to understand the concept.To learn front-end development firstly you will need to know how the internet works, what is HTTP, browser, DNS, domain name, hosting and how all they work.
Then, you will need to learn the basics of HTML, CSS and JavaScript, learn the basic usage of Git, learn about repo hosting services like GitHub. You will also need to learn about web securities like HTTPS, CORS, Content Security Policy etc. [This part is very important]
After developing all these basics mentioned above, to go more deeper into front-end development you will need to learn about modern CSS, CSS architecture and CSS preprocessors, various frameworks (a group of tools & libraries that you can utilize to speed up a project’s development process) like React.js, Angular or Vue.js. For mobile application frameworks you can learn React Native, Flutter. For generating static sites, you can learn Next.js. For desktop applications you can learn Electron. You will also need to learn about different Web APIs used in PWA (Progressive Web Apps).
Back-end Development
It is also known as server-side development. It refers to the server side of an application and everything that communicates between the database and the browser. To be a back-end developer you will need to have a proper understanding of programming fundamentals, business logic of the product, need to have the ability to structure data and create data systems, understand front end essentials and need to have communication with front-end developers to develop user experience and concept.Likewise front-end development here also you will need to learn about the internet, how search engines work, GitHub, basic usage of Git and knowledge about web security. Other than these, you will need to get some general knowledge about OS.
Next learn any of the server side programming languages like python, javascript, php, ruby, c# etc. Learning django if starting with python or express if starting with javascript are two of the most popular first choices. You will also need to learn about relational databases like PostgreSQL, MySQL etc. Learn about APIs (Application Program Interface is how Front-end developers use backend through Application Program Interface(API). These are some defined protocols which the frontend applications can use to get the data). You can learn about REST APIs, JSON APIs, API Authentication.
Then you will also need to learn about caching, testing (Integration Testing, Unit Testing, Functional Testing), design and development principles.
Also, you will need to know about containerization platforms like docker which is used to package your application and all its dependencies together in the form of containers to make sure that your application works seamlessly in any environment which can be development or test or production.
Finally, you will need to learn the general topics for the sustainability of any product so that the product can be scaled further in the future.
**Here I focused only on the name of the topics you need to know, not the details around it **
Leave your thoughts and reviews here.
Keep learning and have a good day.