-
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.
###Django Django is a Python-based "battries 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.
###Flask A python-based micro web-framework, by micro web-framework, it means, that only the minimal components of a web-framework already exist in the system, while other components (like ORMs to manage your database need to be added).
Using a micro web-framework allows us to fully customize and optimize our systems, this might be an option for those who want to learn by building a system of their own (challenging but rewarding), or those who are already experienced with Rails or Django and want to dive deeper.
-
flaskify (developed by @hilalh) A boilerplate code that includes several components added to flask.
###Rails A Ruby "batteries included" web-framework. Rails is often referred to as magic framework since it allows the developers to concentrate on the application they write, rather than on the logics of the framework itself. Rails is very similar to Django as it includes common components needed for web application development
###Sinatra Sinatra is the Flask equivalent in Ruby. It's a micro web-framework, and as stated above, it means that your system would be very customizable.
- Guides will be available here
###Express.js As we mentioned Node.js above, one of the more popular frameworks for Node.js is Express.js Express allows us to rapidly prototype websites and web applications, it has a very lively community that develops many plugins that could be added along the way.
- 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.