Skip to content

Commit

Permalink
update the overview guide
Browse files Browse the repository at this point in the history
  • Loading branch information
lancehalvorsen committed Dec 2, 2014
1 parent 8e59641 commit 33404d3
Showing 1 changed file with 6 additions and 6 deletions.
12 changes: 6 additions & 6 deletions 0_overview.md
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
##Welcome to Phoenix!

Phoenix is a web development framework written in Elixir which implements the server-side MVC pattern. If you've ever used a similar framework, say Ruby on Rails or Python's Django, many of the concepts will be familiar to you. Phoenix is not, however, simply a Rails clone. It aims to have the best of both worlds, high developer productivity _and_ high application performance. Phoenix also has some interesting new twists, channels for managing websockets, pre-compiled templates and the potential for alternative architectures which may make services more manageable from the very beginning of your project.
Phoenix is a web development framework written in Elixir which implements the server-side MVC pattern. If you've ever used a similar framework, say Ruby on Rails or Python's Django, many of the concepts will be familiar to you. Phoenix is not, however, simply a Rails clone. It aims to have the best of both worlds, high developer productivity _and_ high application performance. Phoenix also has some interesting new twists, channels for managing Websockets, pre-compiled templates and the potential for alternative architectures which may make services more manageable from the very beginning of your project.

If you are already familiar with Elixir, great! If not, there are a number of places you can go to learn. You might want to read through the [Elixir guides](http://elixir-lang.org/getting_started/1.html) first. You might also want to look through any of the books, blogs or videos listed in the [resources guide](/Z_resources.md).
If you are already familiar with Elixir, great! If not, there are a number of places you can go to learn. You might want to read through the [Elixir guides](http://elixir-lang.org/getting_started/1.html) first. You might also want to look through any of the books, blogs or videos listed in the [Resources Guide](/Z_resources.md).

The aim of this introductory guide is to present a brief, high level overview of Phoenix, the parts that make it up, and the layers underneath that support it.

### Phoenix

Phoenix is actually the top layer of a multi-layer system designed to be modular and flexible. The other layers are the Elixir middleware project, Plug, and the Erlang web server, Cowboy. Plug and Cowboy are covered in the next sections of this guide.

Phoenix is made up of a number of distinct parts, each with its own purpose and role to play in building a web application. We will cover them all in depth throughout the guides, but here's a quick breakdown.
Phoenix is made up of a number of distinct parts, each with its own purpose and role to play in building a web application. We will cover them all in depth throughout these guides, but here's a quick breakdown.

- The Router
- parses incoming requests and dispatches to the correct controller/action
- parses incoming requests and dispatches to the correct controller/action, passing parameters as needed
- provides helpers to generate route paths or urls to resources
- Controllers
- provide functions called actions to handle requests
Expand Down Expand Up @@ -44,7 +44,7 @@ Phoenix takes great advantage of Plug in general - the router and controllers es

One of the most important things about Plug, is that it provides adapters to HTTP servers which will ultimately deliver application content to your users. Currently, Plug only provides an adapter to Cowboy, which we will talk about next, but there are plans to provide adapters for other servers in the future.

Links to more in-depth information on Plug can be found in the [resources guide](/Z_resources.md).
Links to more in-depth information on Plug can be found in the [Resources Guide](/Z_resources.md).

### Cowboy

Expand All @@ -60,4 +60,4 @@ Sheriff uses parse transforms for type based validation. Sheriff also validates

Cowboy has fantastic documentation. The Guides are especially helpful. Learning more about Cowboy will surely help you to understand of Phoenix more fully.

Cowboy has its own section of links in the [resources guide](/Z_resources.md).
Cowboy has its own section of links in the [Resources Guide](/Z_resources.md).

0 comments on commit 33404d3

Please sign in to comment.