Essential Tech Foundations for Your Web Application in 2024
Written on
Chapter 1: Introduction to Web App Development
As the pandemic continues to reshape the job landscape, many individuals are reevaluating their reliance on a single income source. Recently, I’ve had numerous non-technical friends and family members approach me with ideas they wish to develop from a tech standpoint. After explaining the basics repeatedly, I’ve realized that a simple Google search for "how to build an app or website" can yield an overwhelming number of results, making the next steps seem daunting.
For those eager to launch a side project, hire a developer, or simply understand the tech landscape, here’s a structured overview of how websites and mobile applications are built, alongside a list of vital technologies to consider.
Note: This article focuses purely on technology and does not guarantee that every idea will succeed. I recommend conducting market research and validating your concepts before leaving your full-time job.
Section 1.1: Understanding the Structure of Web Applications
The technology behind websites and apps may seem straightforward when we interact with them, but there are many interconnected components that create the user experience. These components can generally be categorized into three layers:
- Frontend Layer: This is where we design user interactions, aiming to deliver an outstanding visual experience from the moment the application loads until it closes.
- Integration Layer: Think of this as the network facilitating data transfer between the frontend and backend layers. This layer includes considerations for optimization and security, typically represented through APIs.
- Backend Layer: Often referred to as the data layer, this is where all collected information is stored, displayed, or modified. We usually structure this layer so that only the integration layer can communicate with it, often through databases.
Now that we have a grasp on the basic framework of web and mobile applications, let’s delve into some key technologies.
Section 1.2: Key Technologies to Explore
Technology is constantly evolving, so the relevance of this article may diminish over time. As of early 2024, here are some essential technologies that are accessible and beneficial for application development.
Frontend Technologies
React / React Native: These popular JavaScript frameworks offer an abundance of online tutorials to help beginners. React is used for creating web applications and Progressive Web Applications (PWAs), while React Native is geared towards developing mobile apps for iOS and Android. This approach provides a simpler alternative to learning Java/Kotlin for Android and Swift/Objective-C for iOS.
Expo: Initially created as an extension for React Native, Expo has evolved to support web and PWA development. It simplifies the frontend development process while still requiring knowledge of JavaScript.
Angular/Ionic: Angular is another JavaScript framework designed for modern web applications and PWAs, while Ionic specializes in hybrid mobile app development.
My recommendation: Start with React.
Integration Layer Technologies
Express: A lightweight JavaScript framework that is flexible and easy to learn, Express offers numerous resources to help you connect to different data sources while ensuring security.
.NET: Supported by Microsoft, .NET can be more challenging for newcomers to grasp. However, if you have some coding experience, it is a robust option for building APIs, allowing for complex operations.
My recommendation: Begin with Express.
Backend Technologies
Postgres: Known for its powerful open-source capabilities, Postgres is a top choice for many developers. It integrates seamlessly with frameworks like Express and .NET and supports both relational and NoSQL data structures.
Firebase Firestore: Google’s Firestore provides a NoSQL database with an easy setup process and a wealth of tutorials for beginners. While its free tier is appealing, be cautious of potential costs as your application scales.
MongoDB: Another NoSQL database, MongoDB is free and potent, but it may take some time to learn how to effectively manage and visualize data.
My recommendation: Experiment with Firestore, but aim to settle on Postgres.
Note: This article contains some technical terminology. If you encounter unfamiliar terms, a quick Google search can enhance your understanding significantly.
Learning new technologies can be daunting. However, if you're pursuing a promising idea and starting this journey, the effort can be worthwhile! If you’re collaborating with developers and need clarification on their terminology, feel free to leave a comment. I’d be happy to offer suggestions.
Chapter 2: Exploring the Current Landscape of Web Development
Discover the key principles of web development in 2021 with practical insights that can guide your journey into the tech world.
Dive into the advancements in web development for 2023, exploring the latest technologies and strategies to enhance your app-building skills.