Google AngularJS框架-值得冒险吗? - c#

我被要求为我们的一位客户构建一个小型Web应用程序,并认为这是一个尝试构建Web应用程序的不同框架的好机会。我们构建的大多数应用程序都基于asp.net Web表单,我们还没有在MVC架构中做任何事情,但是我渴望通过正确的工具以更结构化的方式构建Web应用程序。

我一直在研究asp.net MVC之类的东西,看起来不错,但我想知道使用Google AngularJS框架之类的东西还能说些什么吗?

如果可能,我仍然希望能够使用C#编写服务器端代码,尽管我假设我可以使用Web服务,但我对AngularJS的研究还不足以知道这是否有可能。

有没有人有过使用AngularJS开发应用程序的经验,如果是的话,它是怎么回事,您能为我提供一些教程的正确方向吗?

参考方案

在过去的几个月中,我们一直在AngularJS中开发Swing胖客户端应用程序的端口,我认为值得推荐。就学习资源而言,请访问官方项目站点(一定要阅读教程)和邮件列表(作者非常有帮助)。

好东西:

  • 极好的可测试性
  • 双向数据绑定是一项非常强大的功能,一旦您“获得它”,它就会非常有用。
  • 与IMO相比,AngularJS模板的脆性要比使用数据属性或“特殊” CSS类标记执行
  • 的元素的脆性小得多。

  • 它大大减少了使用jquery插件的需要,因为在AngularJS中实现该功能非常容易(诸如树,标签,手风琴之类的东西)。

    坏东西:

  • 学习曲线似乎非常陡峭(我没什么大问题,但是我看到有些人为此感到苦恼)
    AngularJS中的
  • 验证暂时很糟(一种新的实现正在进行中)
  • 并非所有的库/ jquery插件都能与Angular很好地配合使用,通常您必须将它们包装成
  • 该API仍在完善中,因此请期待重大更改(尽管频繁发布和非常好的changelog并不是一个大问题)
  • 在页面上进行数千次绑定之前,

  • 的性能还可以-在大多数情况下,这不是一个限制,但是在某些情况下,这可能是个问题。
  • 一些指针(如果您决定学习AngularJS):

  • 有些人确实过度使用了小部件。以我的经验,最好使用HTML“partials” +服务,而只偶尔使用小部件。
  • 阅读该库的源代码-这是学习有关角度
  • 的知识的最佳场所

  • 服务/控制器中没有DOM操作
  • 如果您使用css类绑定到事件,则您做错了
  • Google+登录验证问题 - javascript

    您好,我正在尝试在我的网站上实施Google+登录,除了PHP将检查用户的google ID和电子邮件以查看其是否拥有帐户,或者我需要为他们创建一个帐户之外,我已经完成了所有工作。我遇到的问题是如何验证来自客户端JavaScript的php接收的内容实际上是有效的?我的意思是,似乎有人可以轻松修改脚本以发送任何Google用户ID和电子邮件,然后以任何人的身…

    Javascript IF语句 - javascript

                            嗨,我有这段代码可以正常工作,并将两个日历显示为一个日历。我还有一个php变量$login_session,其中包含登录电子邮件地址的用户。关于如何显示[email protected]日历的任何想法(伪代码)IF $login_session == "[email protected]&#…

    Selenium:如何使RemoteDriver始终附加到当前的浏览器选项卡? - javascript

    我正在开发一个Windows应用程序,该应用程序可以通过语音命令操纵浏览器。我想适当地处理用户添加一些标签并根据需要更改所选标签的情况。事实证明,RemoteDriver仅与一个选项卡一起使用,并且可以通过提供选项卡手柄将焦点切换到另一个选项卡。但是我不知道如何获取选定的选项卡句柄并始终检查选定的选项卡是否已更改,或者是否存在始终与选定的选项卡一起使用的方法…

    重复使用Google Api Bearer令牌来访问用户的云端硬盘 - javascript

    我有以下几点: gapi.auth.authorize( { client_id: CLIENT_ID, scope: SCOPES, immediate: false }, handleAuthResult); 这使我可以访问access_token:目标是使该应用程序的用户可以授予对我的应用程序的访问权限,以使用其Google驱动器存储其内容。我需要能够…

    指定行的大小不同于2英寸的Google图表 - javascript

    我正在尝试使用Google Chart和jQuery(1.10.2)可视化柱形图,但是会引发以下错误。 [控制台日志]:“行的大小不同于2”在将此标记为已回答之前,我尝试按照建议的"Row given with size different than 3" Google Charts进行操作,但未显示任何图表。function drawC…