Browse Source

Initial commit

Also some philosophy. Because why not.
Carl Jackson 12 years ago
commit
a317cb9d5f
1 changed files with 28 additions and 0 deletions
  1. +28
    -0
      README.md

+ 28
- 0
README.md View File

@ -0,0 +1,28 @@
Goji
====
Goji is a minimalistic web framework inspired by Sinatra.
Philosophy
----------
Most of the design decisions in Goji can be traced back to the fundamental
philosopy that the Go standard library got things Mostly Right, and if it
didn't, it at least is good enough that it's not worth fighting.
Therefore, Goji leans heavily on the standard library, and in particular its
interfaces and idioms. You can expect to be able to use most of Goji in exactly
the manner you would use a comparable standard library function, and have it
function in exactly the way you would expect.
Also in this vein, Goji makes use of Go's `flag` package, and in particular the
default global flag set. Third party packages that have global state and squat
on global namespaces is something to be suspicious of, but the `flag` package is
also the closest thing Go has to a unified configuration API, and when used
tastefully it can make everyone's lives a bit easier. Wherever possible, the use
of these flags is opt-out, at the cost of additional complexity for the user.
Goji also makes an attempt to not be magical -- explicit is better than
implicit. Goji does make use of reflection and `interface{}`, but only when an
API would be impossible or cumbersome without it.

Loading…
Cancel
Save