-
Notifications
You must be signed in to change notification settings - Fork 6
Backend Development
##Backend Development ###What is Backend Development? Backend Development generally involves developing the core business logic of your application. More specifically, Backend Development is server-side (as opposed to Frontend Development, which is client-side).
##Backend Technologies
###Structured Query Language (SQL) A language used to interact with database systems.
###REST An architectural standard implemented by the majority of web and network applications. This standard allows communication between the server and the client.
###Node.js Node.js allows us to run Javascript on the server side in addition to the client side thanks to Google's V8 engine. This mean we could use Javascript as full-stack (both for frontend and backend purposes)
- What is REST? How do apps communicate with the server?
##Backend Frameworks ###What are Backend Frameworks? Backend Frameworks are frameworks that abstract the core business logic of your application into a higher-level language. Many also include functionality for common tasks such as user authentication and database queries.
Many Backend Frameworks follow or are an evolution of a design pattern called Model-View-Controller, or MVC.
- Model: The program representation of the object/database you are using (e.g. Users, Products, Cars)
- View: The visual representation of your data. This is what the web app user sees (i.e. HTML, CSS, and JS).
- Controller: The go-between of the Model and the View. One way: takes input from the View and gives it to the Model to act upon. Other way: Gathers data from Model(s) and gives it to the View to incorporate in the visual representation. Examples: New User signup, listing all products that are less than some dollar amount, redirecting a user.
MVC Wikipedia page - Leo Rudberg
###Django Django is a Python-based "batteries included" web framework that's great for newbs and experienced developers alike. It does a decent job of making sure you do things the right way while keeping your code organized and your site secure. It's great for larger projects, but takes more initial setup work than some of its competitors.
###Flask A Python-based micro web-framework. Since it is a micro-framework, Flask only prepackages the bare minimum components, while others (like ORMs to manage your database) must be added manually.
-
flaskify (developed by @hilalh) A boilerplate Flask project with several common components.
###Rails A Ruby-based "batteries included" web-framework. Rails is often referred to as a 'magic framework' since it lets developers concentrate on their application rather than the framework itself. Like Django, Rails pre-packages common components needed for web application development.
-
Rails Tutorial - Leo Rudberg
-
Rails for Zombies - Leo Rudberg
###Sinatra Sinatra is Ruby's Flask equivalent. Like other micro web-frameworks, it's very customizable.
- TODO Guides will be available here
###Express.js One of the more popular frameworks for Node.js is Express.js. Express lets us rapidly prototype websites and web apps, has a very lively community, and tons of plugins.
- Basic Setup of Express + MongoDB : A straightforward and clear tutorial for setting up Express with MongoDB as the database for a REST-ful web server.