Welcome to the Treehouse Community
Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.
Looking to learn something new?
Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.
Start your free trialCrystal Vesely
14,391 PointsTrying to comprehend what is a web app.
I am just now learning the basics of a database and the use of Express. I thought I knew what a web app is, but I’m now realizing that I’m completely wrong. From my research, a web app is similar to what I would’ve considered a website, but a web app interacts with a client. Would it be reasonable to assume that any website that uses a database would be considered a web app? And if so, everytime I want to integrate a database, do I have to design the entire website as a web app or can I use html, css, front-end JavaScript to code the webpages, and then integrate a portion of the site as a web app?
1 Answer
Travis Alstrand
Treehouse Project ReviewerI believe you're on the right track!
I did some searching / querying as well and found the following. (It's something that always eluded me too 😬)
Web Apps vs. Websites: The key difference is interactivity. While a traditional website delivers static content (HTML, CSS, images, etc.) to users, a web app typically includes more dynamic, interactive elements that respond to user input and often communicate with a database on the server side.
Database Integration: If a website uses a database, it’s commonly because it has dynamic content or user data to manage (think user accounts, posts, or product details). This data is stored and retrieved from a database, making it an interactive web app in some sense.
Combining Static and Dynamic Content: You don't have to design the entire site as a full-fledged web app if only part of it needs interactivity. You can still code the main pages with HTML, CSS, and front-end JavaScript. Then, integrate dynamic features or database interactions in specific areas where needed. Express can handle the backend routes for those parts, and front-end JavaScript (or even AJAX calls) can communicate with your Express server to fetch data without reloading the entire page.