1
daweiba 2013-03-24 15:58:40 +08:00
1 自动路由。要求不需要配置,直接通过url访问,自动按restful映射到位。
2 各种视图重用,模板语法支持restful 3 orm,这个不用说了吧 4 缓存。统一调用各种缓存的api 5 内置队列。查询数据库时,不需要再调用外部的队列服务。 6 开发时,修改代码后不需要重新编译或go run,且错误信息直接输出到浏览器。 7 最重要的是一定要减少import的书写量。 用golang好像很难满足。。 |
2
cooper 2013-03-24 16:14:04 +08:00 1
url route/map,web开发框架的核心,它决定了代码的组织方式
html 模版子系统 orm,或者说数据库访问层 form 前后端验证 helper 包括:分页,cache,session,sitemap,rss,email等 deployment 支持,简单说,这个框架起码要内置一个http server |
3
twm 2013-03-24 16:15:08 +08:00 via iPhone
大量的第三方库
|
4
summic 2013-03-24 16:53:56 +08:00
对框架的需求每个项目都不同, 及时基础的mvc、route、orm、form、auth也不是谁都需要的
我觉得应该先开发给自己用,做最核心的,之后如果能形成一个社区,就好走了 我有时候想,如果让一个产品经理来设计VIM,会成为什么样子 |
5
felinx 2013-03-24 17:03:37 +08:00
给你推荐一个,一位朋友写的
https://github.com/astaxie/beego |
7
liuxurong 2013-03-24 21:33:43 +08:00
Flask 这种
|
8
onetown 2013-03-25 00:34:15 +08:00
我觉得不需要内置ORM, 框架为什么非要带ORM, 我觉得bottle, tornado这种小的框架挺好的。 只要route, template, i18n, 其他交给别人做吧。
|
9
sobigfish 2013-03-25 00:37:03 +08:00
可扩展性啊,laravel (php) 火起来不是没有原因的。
|
11
nickdine 2013-03-25 08:53:27 +08:00
java 有一个playframework 已经很不错了 支持restful 支持热编译 充血模型 约定大于配置 各种牛逼 你可以下源码看看 了解下
|
12
daweiba 2013-03-25 08:57:45 +08:00
|
13
Xg 2013-03-25 15:37:08 +08:00
full stack的可以看看revel,play的Go语言版。应该是目前比较成熟的一个了。
类似web.go那种的微框架还是自写自用吧,基本上推广不开。。 我自用的 https://github.com/xgdapg/xgo |
14
RisingV 2013-03-25 16:22:52 +08:00
框架的主要目的是把那些重复的工作提取出来,提供足够健壮的实现,保证框架使用者将注意力集中在业务逻辑上,同时提供良好的解耦,便于维护和再开发。
对于web框架而言,我觉得应该做到以下几点 1)为业务系统提供良好的模块化支持,符合Open/Closed Principle 2)对http请求可配置的Pipeline过滤器流程机制 3)url映射,静态资源的统一管理 4)web框架不应该包含orm,但是可以有拓展机制可以和orm层或者redis等服务衔接 |
15
hfeeki OP @RisingV 真是巧了,昨天还在思考如何实现Pipelines Filters的机制呢。具体怎么实现还没有想好,请问你有啥思路?
关于Open/Closed Principle:可否更具体一点,应该注意些什么?哪些是好的工程实践,哪些是差的工程实践? to all: 关于把REST API部分(或者叫 Resources Management)与普通的web ui部分分开来,各位有啥意见? 我的想法就是以后网站开发的标准流程变成: 1. 定义资源、REST API,使用 2. 分别开发web ui server 和 api server, 考虑为ui server提供一个fake api server, 准备好一些典型的json数据,这样ui server的开发、测试就可以独立进行了。 大概的架构: https://www.lucidchart.com/documents/view/4e45-01b0-51501ebd-b7d4-690e0a000267 |
16
shen100 2017-11-16 14:01:51 +08:00
这里有大家对 Go Web 框架的投票,可以参考下
https://www.golang123.com/vote/1 |