Looking for a mentor while coding this "web framework"

219 views
Skip to first unread message

Kim Eik

unread,
Nov 19, 2012, 4:09:55 PM11/19/12
to golan...@googlegroups.com
Hi, I am new to Go. The reason i'm learning Go is because well firstly i feel that Go is a great language, secondly, i have been tasked to create a relatively simple open-source web application. 

As a precursor to this i seem to have created a "web framework", which for the most part is intended for my own use and for future projects, but i am making it publicly available so others can use it if they want. 

The web framework can be found here: https://github.com/netbrain/gonk

It isn't complete, however i have made some progress.

As i am new to Go, and i'm still learning, i was wondering if there were anybody out there who would be willing to mentor me? and do some code review maybe?

Cheers
Kim Eik

Dustin Sallings

unread,
Nov 19, 2012, 4:46:11 PM11/19/12
to golan...@googlegroups.com
The most successful web frameworks I've ever used were the side
effects of applications that needed them (Django, rails).

My recommendation would be for you to build the application you need,
then build another one and see if there are any parts that you can reuse
from the first two to make your third.

--
dustin

Kim Eik

unread,
Nov 19, 2012, 5:01:15 PM11/19/12
to Dustin Sallings, golan...@googlegroups.com
Great! That is kind of how i have been working with this framework (with a few exceptions). I started out by creating a simple web app. and then piece by piece i dragged out the functionality i felt was common to any webapp (with a few exceptions ofc.).

However, the framework is still lacking, but as i progress with building the example apps and extending the framework, i hope that functionality gap will narrow.



--
dustin

--



Archos

unread,
Nov 19, 2012, 5:07:47 PM11/19/12
to golan...@googlegroups.com

I'm going to be a little critical about the web frameworks. I come from Python where I though that it was the language with more web frameworks but I'm almost sure that Go has got more web frameworks (and into a little time).

I'm supposed that it's because people want to create the Go's "official" web framework, just like Django in Python and RoR in Ruby. But I personally flee of these big solutions who want to do everything.

So, would not better for the Go community if people would build "tools" to be used in web applications? Like plugins that you can find in Rails or Django, i.e. to handle capchas, messages between users.

Shivakumar GN

unread,
Nov 20, 2012, 6:05:28 AM11/20/12
to golang-nuts
On Tue, Nov 20, 2012 at 3:31 AM, Kim Eik <k...@heldig.org> wrote:
Great! That is kind of how i have been working with this framework (with a few exceptions). I started out by creating a simple web app. and then piece by piece i dragged out the functionality i felt was common to any webapp (with a few exceptions ofc.).

However, the framework is still lacking, but as i progress with building the example apps and extending the framework, i hope that functionality gap will narrow.


Checkout gorilla if not already done so. It provides some building blocks for framework development.
It may help advance your work. Studying other's code & integrating it into your's will also advance your other purpose of learning.


Kim Eik

unread,
Nov 20, 2012, 6:55:07 AM11/20/12
to Shivakumar GN, golang-nuts
The framework is already using the gorilla web toolkit (the muxer) for now. More to come later i guess.


--
 
 

tomwilde

unread,
Nov 20, 2012, 6:55:58 AM11/20/12
to golan...@googlegroups.com
Web frameworks are mainly about code organization, separation of concerns and all that.
None of that is applicable in Go. Go code goes into packages, packages get imported, end of story.
There's not really much you can do besides providing good packages for specific tasks, as Gorilla does.

Kim Eik

unread,
Nov 20, 2012, 7:24:14 AM11/20/12
to tomwilde, golan...@googlegroups.com
Even so, you can still create a web framework which applies best practices and organize the code and files. Even if packages is the only structure that can be used for code organization. But dont forget that go has interfaces, you can do seperation of concerns with those.

In addition the framework could provide functionality to easily get started with web developing.
For example, say you have a web-framework shell, typing "gonk create" would initialize a new web application with the gonk frameworks way of developing web apps. creating folders, configuration files, an example controller, example dao files etc. etc. That would certainly be a faster way of getting started than having to create your own structure.

There could also be implemented a plugin functionality which provide the ability to download existing (open source) components and couple them with your application. Yet again saving time and cost.


--
 
 

Reply all
Reply to author
Forward
0 new messages