here we will look into different branches and fields within computer science. it will include several roadmaps like web-dev, android and ios dev,etc. feel free to contribute to the project through pull requests.
WEB-DEVELOPMENT
so concisely there are basically two main parts modern web develeopment can be classified into: client side (frontend) and server side (backend).so lets briefly talk about what are they and what technologies are they comprised of.
CLIENT-SIDE: refers to everything in a web application that is displayed or takes place on the client (end user device). This includes what the user sees, such as text, images, and the rest of the UI, along with any actions that an application performs within the user's browser.
SERVER-SIDE: development, sometimes called back-end development, is a type of development that involves programs that run on a server. This type of programming is important because web browsers, or clients, interact with web servers to retrieve information.
clientside
they are basically made up of html,css and javascript and some libraries and frmaeworksd like reactjs, angular,vuejs,etc.
serverside
those who are already proficient in javascript can go with nodejs which has fabulous framework of expressjs that can handle your CRUD operations.
for others you have various tools like for:
php you have laravel
python you have django
java you have springboot
ruby you have rails etc..
________________________________________________________________________________________________________________________________________________
ANDROID DEVELOPMENT
so basically if you want to become a android dev then there are are basically two to three languages and frameworks which all will lead you to the same destination, let us discuss them briefly
java is one the most popular languages in the planet and is not in vain it can handle oyur web and android dev as well.
java with android studio
kotlin with android studio
react native
HOW TO START ANDROID DEV
if you have selected the language of your choice then you can get started:
. Android App Components
- Gain knowledge of the different components that make up an Android app, such as activities, services, broadcast receivers, and content providers.
- Understand how these components interact with each other to create a cohesive app experience.
. User Interface (UI) Design
- Learn about XML layout files and how to create visually appealing user interfaces.
- Explore different UI design patterns and best practises for creating intuitive and user-friendly apps.
. Data Storage and Management
- Understand various data storage options available in Android, such as SharedPreferences, SQLite databases, and cloud-based solutions.
- Learn how to efficiently manage and retrieve data from these storage options.
. Networking and APIs
- Explore how to integrate network requests and APIs into your app.
- Learn about popular networking libraries like Retrofit and Volley to simplify the process of making HTTP requests.
. Security and Permissions
- Understand the importance of securing user data and implementing proper authentication mechanisms.
- Learn how to handle app permissions and ensure user privacy.
. Testing and Debugging
- Gain knowledge of different testing methodologies, such as unit testing and UI testing.
- Learn how to use debugging tools and techniques to identify and fix issues in your app.
. Publishing and Distribution
- Familiarize yourself with the process of publishing your app on the Google Play Store.
_________________________________________________________________________________________________________________________________________________________
STARTING WEB-DEV WITH THE JAVASCRIPT
the first and probably the best resource that comes to my mind when someone talks about the
web-dev is the ODIN PROJECT here you go
there is also a nice youtube channel for this named (freecodecamp.org)
to be continued....