Permalink
Switch branches/tags
Nothing to show
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
executable file 69 lines (51 sloc) 2.75 KB

Frameworks intro

What is a framework

A framework provides a starting point for an application.

It is a skeleton of directories and files which you'll build in/upon to develop the functionality you need for your application.

Included in a framework are libraries that power essential web application features, such as:

  • Routing
  • Form handling and validation
  • Views/templating
  • Environment management
  • Session/cookie management
  • Database interaction and management (migrations, seeding)
  • Authentication (sign up, log in, recalling a vistor's data, etc.)
  • Testing
  • Caching
  • Localisation
  • Email
  • Scheduling (run scripts automatically)
  • Integration with 3rd party services (Facebook, Credit card processing, etc.)
  • Etc.

By working with these existing fundamentals, it frees you up to focus on the functionality of your application.

Why use a framework

  • Avoid reinventing the wheel
  • Work with vetted code
  • Build projects that are more universally understood and documented

Challenges of working with a framework

  • Initial investment in learning the framework
  • Keeping up with the evolution of the framework

(These challenges are not unique to frameworks)

Choosing a web framework

Popular frameworks across different languages:

Points of reference:

Framework of choice for this course: Laravel

What makes Laravel so popular?

  • Coincided with PHP's early 2000's renaissance
  • Learned from what other frameworks (Rails, Symfony) got right
  • Active, modern, polished
  • Great documentation
  • Strong community, accessible support
  • Strong partnerships and ecosystem e.g. Laracasts, Forge, Envoyer
  • Lower learning curve
  • Expressive code (aka Syntactic sugar)

Laravel documentation