标签: web-frameworks

Catalyst + Mason + Template :: Toolkit值得学习而不是坚持使用LAMP + Axkit吗?

目前我正在使用相当多的Unix + Mysql + Perl + Apache和一些javascript来使它更​​像ajax.我一直在寻找web 2.0和stackoverflow的网站,真的很喜欢简单的设计和来自页面和动作等的流畅的流程.

我正在努力决定学习催化剂,泥瓦匠等是否能够为我提供构建功能强大且流畅的Web 2.0网站的能力,而不需要花费更少的精力和更简单,更清晰的代码来维护.

截至目前,我并不喜欢我建立的网站,因为它非常陈旧和缓慢.但我从这里读到,如果我想用它建立一个职业,那么LAMP会是一个更好的选择吗?

只是想知道这三个标准,我最好的一步是什么?

  1. 职业发展
  2. 轻松构建功能强大的Web 2.0网站
  3. 催化剂以什么方式实际上比LAMP更好?

谢谢.〜史蒂夫

perl exchange-server web-frameworks catalyst

7
推荐指数
2
解决办法
2161
查看次数

使用Zend进行非常小的网站的任何缺点

我正在使用Zend并想知道将它用于小型网站是否有任何缺点.该网站可能是4页:几种形式和几个静态页面.

Zend还会为这么小的网站加速开发吗?还是相反?

整个引导流程和MVC结构和路由是否会为这么小的网站带来负担?

我认为这对于提供大量内容的大型网站很有用,但对于手册网站来说,使用该框架仍然有意义.它位于服务器上,因此将项目添加到项目中没有初始成本,但对于我还没有注意到的这样一个小项目,是否存在性能和实施问题(可能需要更长的实施时间)?

我正在获得其他框架的建议.我确信Codeigniter,Kohana和modx很棒,但是他们需要时间来学习他们的API.我已经知道并使用Zend所以选择它和它之间的普通PHP.

php zend-framework web-frameworks

7
推荐指数
1
解决办法
1619
查看次数

ASP.Net Webforms和ASP.Net MVC是基于组件还是基于动作的?

我来自JavaEE背景,我正在研究Java和.Net中存在哪些Web框架.就Java而言,我发现了Matt Raible的这个话题.

他在框架中进行的一种分类是,其中一些是基于行为的,其中一些是基于组件的.前者是无状态的,专注于每个请求执行的操作和报告的生成,而后者是有状态的,并保留其Web界面组件的服务器端表示.

正如所料,基于组件的Web框架通常带有自己的组件或第三方组件库(除了它们自己的组件,JSF还有Richfaces,Icefaces,......而GWT有ExtGWT,SmartGWT ......).为了提供基于动作的框架的丰富接口,开发人员必须使用JS组件库或Flex等.

由于每个类别的优点和缺点对我来说都有意义,我想知道这种分类是否也适用于.Net框架.据我所知,ASP.Net MVC和ASP.Net Webforms都是无状态的,但Webforms有一个名为Viewstate的机制,它可以配置为从隐藏字段,Session等保存和检索状态.但是,我可以找到没有组件的服务器端表示.

那么,ASP.Net MVC和ASP.Net Webforms是基于组件还是基于动作的?

.net asp.net asp.net-mvc webforms web-frameworks

7
推荐指数
1
解决办法
785
查看次数

金字塔相当于Django的syncdb命令?

我在Pyramid + SQLAlchemy + URL Dispatch Wiki Tutorial中注意到,在运行应用程序时,数据库在main函数中初始化.

def main(global_config, **settings):
    """ This function returns a WSGI application.
    """
    engine = engine_from_config(settings, 'sqlalchemy.')
    initialize_sql(engine)
    # -- and so on ---
Run Code Online (Sandbox Code Playgroud)

其中initialize_sql定义如下:

def initialize_sql(engine):
    DBSession.configure(bind=engine)
    Base.metadata.bind = engine
    Base.metadata.create_all(engine)
    try:
        session = DBSession()
        page = Page('FrontPage', 'initial data')
        session.add(page)
        transaction.commit()
    except IntegrityError:
        # already created
        pass
Run Code Online (Sandbox Code Playgroud)

它基本上创建了所有表(如果它们不存在)并用一些初始值填充它.很容易理解,但......

这只是一个演示小应用程序的教程,因此通常在生产中完成的方式可能不同(或不是......).这让我想到了我的问题:

当使用Pyramid和SQLAlchemy时,它是生产中用于以这种方式初始化的数据库的典型模式,还是通常使用manage syncdb与Django中的命令等效的东西来手动调用?

python django sqlalchemy web-frameworks pyramid

7
推荐指数
1
解决办法
1170
查看次数

什么是最古老的仍然维护的Web框架?

我很想知道自己的Web框架有多远(我今天仍然可以使用它).

(正如我所说,我不认为CGI是一个框架,就像协议或接口一样.)

history web-frameworks

7
推荐指数
2
解决办法
2828
查看次数

"Restful"Java WEB MVC框架

我正在开发的应用程序将"响应",执行异步通信并来回传递大量JSON.

我需要一个支持的Java MVC WEB框架

1)BLOAT的最小数量和"幕后魔术".对于任何框架,总是在框架功能与复杂性之间进行权衡.但是,当我遇到问题并且必须"打击框架"(并且那个时间总是来临)的时候,我希望它是一场公平的斗争.最小化框架的庞大规模增加了公平战斗的可能性.

2)原生RESTFUL支持.即路由html动词并执行内容协商.

3)直接支持处理JSON.使用我选择的任意json处理器,即jackson或gson等.

4)直接的持久性支持,例如JPA等

5)一些模板系统,例如freemarker,velocity等

6)本机认证/授权安全方案,支持"基于角色"的安全性或与弹簧安全性轻松集成

以上所有内容都应该整合到框架中.不是在某个第三方用户贡献的模块中,当框架的新版本出现时,该模块会消失.

我坐了一天,试验并找到了以下候选人

Spring MVC 3

1)要在Spring MVC 3中启动并运行众所周知的"Hello World"示例,我需要以下jar:

  • org.springframework.beans-3.1.0.RELEASE.jar
  • org.springframework.expression-3.1.0.RELEASE.jar
  • org.springframework.asm-3.1.0.RELEASE.jar
  • org.springframework.context-3.1.0.RELEASE.jar
  • org.springframework.core-3.1.0.RELEASE.jar
  • org.springframework.web-3.1.0.RELEASE.jar
  • org.springframework.web.servlet-3.1.0.RELEASE.jar

最后是xml文件中的一些定义,"dispatcher-servlet.xml".我不知道是不是说BLOAT或幕后太多魔术.但它并没有给我一种温暖而模糊的感觉,因为他可以控制自己

2)Spring 3支持这个,从我看到的例子看起来并不太讨厌

3)支持,但是从(2)中的链接看来,处理json似乎仅限于使用jackson库.至少如果你想使用魔术注释进行内容协商.

引用:

"在封面下,Spring MVC委托HttpMessageConverter执行序列化.在这种情况下,Spring MVC调用基于Jackson JSON处理器构建的MappingJacksonHttpMessageConverter.当你使用Jackson的mvc:annotation-driven配置元素时,这个实现会自动启用出现在你的课程中."

对我来说有点警告信号.我希望对我正在使用的JSON处理器有明确的编程控制.也许我在这里遗漏了一些东西.这在我的书中被认为是不受欢迎的"幕后魔术"

4)是的

5)是的

6)是的

玩框架

1)版本1.2在我的磁盘上重88.5 MB.不在servlet容器中运行,所以获得hello world示例并且运行与spring相比很容易,即使找到我需要哪些罐子也是保密的.很明显,很多东西都发生在幕后.我想我所能希望的是它没有做到比它更多.而且这种结构是理智的.但是,当我有一天必须打击框架时,我会在抵达时死亡吗?谁知道...

2)是的,它做得很优雅.竖起大拇指.

3)是的,但它在封面下使用gson.再说一遍,为什么我不能以编程方式控制它?幸运的是,可以将任意序列化程序传递给gson来覆盖默认值.我认为该参数映射到play renderJSON()本机函数的第二个参数.因此,半个拇指向上传球.

4)是的.有一个JPA模块

5)是的.使用groovy.我没意见.

6)应该可以通过组合安全和死锁模块来实现.不知道它与弹簧安全性有多好.我没有看到任何内置的密码加密支持等.并且不知道与弹簧安全性集成有多困难(如果可能的话).不知道我是否愿意部署敏感数据并依赖于游戏!安全框架.可能需要在它之上构建一些东西.

的Restlet

也许是一个特殊的候选人,因为它被用于"不安分的网络服务".但是对于我的观点(1) - (6)和我的应用程序类型,其中大多数用户交互是异步的,它似乎是一个很好的选择.我可以在静态资源或动态生成的内容上运行它并吐出任何内容类型.

1)Restlet 1.1.1约为54 MB.看看你好世界的例子.我喜欢缺少XML文件.就像玩它有自己的服务器(jetty连接器).你好世界的例子看起来非常简洁.

2)是的,这种方法非常"程序化"

3)是的,但似乎只能通过杰克逊扩展模块.鉴于此框架的程序性,似乎有其他选项,但我没有在文档或用户组论坛中找到任何内容.

4)将自己描述为"持久性不可知".好的,我觉得这很好.但我想坚持下去,而不是自己重新发明管道.或者至少我想要一点点如何表明它可以通过一些努力来完成.有一个第三方jpa模块但它建立在restlet 1.0上.Restlet有一个弹簧模块,所以也许我可以整合弹簧坚持的东西......

5)是的,有一个freemarker扩展名

6)有一个原生计划.乍一看,不像春天的安全那样富裕.再说一次,也许我可以整合?

摘要

Spring MVC 3:支持所有要求,可能除了(1)之外.我唯一关心的是它似乎很复杂,我得到一种模糊不愉快的感觉,就是不能控制.随着我的应用程序的增长,我真的不希望以后被框架"陷入困境".

玩 …

java model-view-controller web-frameworks

7
推荐指数
1
解决办法
4329
查看次数

Python Web Framework最像ASP.NET MVC 3

尽管我喜欢在ASP.NET MVC上构建,但现在是时候离开Windows了.

我想以最少的痛苦切换到基于Python的东西.

在没有讨论切换的优点或原因的情况下,哪个Python Web框架在体系结构方面与ASP.NET MVC 3最相似?

建筑实例

我说的是流程,而不是语言.

典型的.NET路由

routes.MapRoute( // maps requests at /Product/ to ProductController
    "Products", // Route name
    "Product/{action}/{id}", // URL with parameters
    new { controller = "Product", action = "Index", id = UrlParameter.Optional }
        // Parameter defaults
);
Run Code Online (Sandbox Code Playgroud)

典型的.NET控制器

public class ProductController
{
    public ActionResult Index(IndexInputModel inputModel)
    {
        // do something with inputModel ...
        var viewModel = new ProductIndexViewModel()
        {
            Products = productList;
        }
        return View("~/Views/Product/Index.cshtml", viewModel);
    }
    // ...
}
Run Code Online (Sandbox Code Playgroud)

典型的~/Views/Product/Index.cshtml.NET Razor视图 …

python asp.net-mvc web-frameworks

7
推荐指数
1
解决办法
1021
查看次数

寻找ASP.NET MVC和MonoRail之间的现代比较

我来自Ruby on Rails,我需要创建一个C#Web应用程序.目前我正在寻找ASP.NET MVC和MonoRail.我发现的大多数比较都是从2008年到2009年,当时ASP.NET MVC还是新的,而且针对MVC的大多数要点都是它太原始,不像MonoRail那么精致.

好吧,从那时起已有好几年了,微软在ASP.NET MVC上做了很多工作.两个框架的现代版本如何相互比较?

.net c# castle-monorail web-frameworks asp.net-mvc-3

7
推荐指数
1
解决办法
804
查看次数

Mojolicious :: Lite with Template Toolkit

我正在尝试使用Template Toolkit作为Mojolicious :: Lite中的默认渲染器.是)我有的:

use strict;
use warnings;

use Mojolicious::Lite;
use Mojolicious::Plugin::TtRenderer;
plugin tt_renderer => { template_options => { INCLUDE_PATH => './tmpl', DEBUG => 1 } };

get '/' => sub {
  my $self = shift;

  $self->render( 'index' );
};

app->renderer->default_handler( 'tt' );
app->start;
Run Code Online (Sandbox Code Playgroud)

当我尝试点击测试服务器时,我得到:

[Fri Oct 12 14:02:02 2012] [info] Listening at "http://*:3000". 
Server available at http://127.0.0.1:3000. 
[Fri Oct 12 14:02:08 2012] [debug] Your secret passphrase needs to be changed!!! 
[Fri Oct 12 14:02:08 2012] [debug] GET / (Mozilla/5.0 …
Run Code Online (Sandbox Code Playgroud)

perl web-frameworks template-toolkit mojolicious

7
推荐指数
1
解决办法
1515
查看次数

AngularJS ui-router的替代品

我刚开始一个新项目.我正在构建一个"具有本机感觉"的Web应用程序,它将在全屏浏览器中的远程控制设备上运行(没有地址栏,固定分辨率).UI基本上由多个全屏视图组成.AngularJS目前是首选武器,原因多种多样.我一直在尝试'ui-router'及其'状态'来构建不同的视图.例如:

/#/desktop
/#/menu
/#/videoStore/posterView
/#/videoStore/listView
Run Code Online (Sandbox Code Playgroud)

我非常喜欢每个视图都有一个模板,一个控制器和一个URL.切换视图时页面不重新加载的事实是至关重要的.但是,有一些我缺乏的东西.

双缓冲

我希望能够在转换到它之前准备下一个状态/视图.ui-router提供了一系列无法做到的事件.onEnter,$stateChangeStart$stateChangeSuccess全部调用之前state/view controller甚至构成.我宁愿这些事件,其中被称为转变前的控制器.例如onStart,它首次启动时和onResume恢复时.

历史行为

每次进入状态时似乎都会重建状态,这意味着模板会再次添加到DOM中并实例化一个新的控制器.这是不必要的,应该会破坏性能.离开videoStore时无需重新构建菜单.事实上,我希望能够完全相同,专注于子文件夹中的相同项目,而不必重新创建它.

Keyhandling

我还没弄明白如何确保键进入正确的状态/视图或子视图.我正在考虑向正文添加一个监听器,然后将密钥发送到当前作用域.虽然我不认为这样做会因为在一个州内有多个观点时哪个范围是"活跃的"的不确定性.onFocus状态/视图控制器上的某种事件会很棒.此外,除非遍历$$(私有)字段,否则似乎无法从angular获取"活动"范围.

好的.谢谢阅读.

这是我的问题:

  • 他们的某种方式是"凑合" ui-router吗?我只评估了两天,可能错过了很多.
  • Angularjs有替代品ui-router吗?
  • 是否还有其他任何Javascript框架可以完成这些与我描述的类似的东西?

web-applications web-frameworks angularjs angular-ui-router

7
推荐指数
1
解决办法
2339
查看次数