找回密码
 FreeOZ用户注册
楼主: ubuntuhk
打印 上一主题 下一主题

[IT技术] 讨论一下AngularJS和Node.js等Web技术

[复制链接]
31#
 楼主| 发表于 27-6-2014 23:53:44 | 只看该作者


嗯,不知不觉,我离开微软的平台(MSVC,VS20xx)差不多五年了,现在除了工作上要建VPN需要用到Windows Server之外(Windows上建的L2TP VPN就是比Linux稳定,不知道为什么),别的地方好像真没有需要碰微软的东西。
回复  

使用道具 举报

32#
 楼主| 发表于 27-6-2014 23:55:59 | 只看该作者
caoglish 发表于 27-6-2014 21:14
我用nodejs作为开发辅助使用的。它的grunt,npm,bower,jshint等工具实在是太强大了,谁用谁知道。虽然nod ...


好多名词我也是第一次听说(bower、jshint、phantomis、lessjs),不觉明历啊
回复  

使用道具 举报

33#
 楼主| 发表于 27-6-2014 23:56:52 | 只看该作者
mason00 发表于 27-6-2014 21:16
能想到用google的v8做后台vm也是蛮厉害的,不知道这种人是怎么训练出来的,人生来确实是不一样啊,环境也不 ...


这或许就是Creative Thinking的威力吧,希望我们华人的下一辈有多点这种人才出现。
回复  

使用道具 举报

34#
 楼主| 发表于 28-6-2014 00:01:25 | 只看该作者
finger|regnif 发表于 27-6-2014 21:28
要不lz你发起个项目, 大家没事贡献点代码. 比如搞一个Node.js版本的freeoz, 用造轮子的办法来学习.


不瞒你说,我是有类似的念头,现在用着discuz这一套软件,感觉不是很好,总希望改进,但心有余而力不足,现在看了nodejs和angularjs这些技术,让我有点跃跃欲试,如果 @caoglish @trisun @cais 等同学也有此想法,我们可以试试造个轮子

评分

参与人数 1威望 +20 收起 理由
welshzh + 20 你太有才了!

查看全部评分

回复  

使用道具 举报

35#
 楼主| 发表于 28-6-2014 00:02:55 | 只看该作者
viewpl 发表于 27-6-2014 22:19
RWD。。。我做的一个背单词软件正好也叫RWD,得改名了,杯具


在什么平台上开发的?iOS、Android?
回复  

使用道具 举报

36#
 楼主| 发表于 28-6-2014 00:05:24 | 只看该作者
black_zerg 发表于 27-6-2014 22:36
agree> nodejs作为开发辅助使用

AngularJS, looks interesting. Probably good for simple & convention ...

balck zerg现在做哪方面开发,你给我的感觉是全能程序员
回复  

使用道具 举报

37#
 楼主| 发表于 28-6-2014 00:07:53 | 只看该作者
分享一片Paypal采用Node.js开发的文章:

PayPal为什么从Java迁移到Node.js,性能提高一倍,文件代码减少44%

中文版:http://ourjs.com/detail/52a914f0127c763203000008
原文:https://www.paypal-engineering.com/2013/11/22/node-js-at-paypal/

评分

参与人数 1威望 +50 收起 理由
karl.lee.2004 + 50 谢谢分享!

查看全部评分

回复  

使用道具 举报

38#
发表于 28-6-2014 00:28:36 | 只看该作者
ubuntuhk 发表于 28-6-2014 00:01
不瞒你说,我是有类似的念头,现在用着discuz这一套软件,感觉不是很好,总希望改进,但心有余而力不足 ...

我觉得应该根据自己的兴趣,在github上找自己喜欢的项目贡献代码吧。

我现在就在看code problem这个项目,一些经典算法,就当练脑子了,里面有些代码不正确,我也在帮忙加内容。

评分

参与人数 2威望 +80 收起 理由
wiserfirst + 50 谢谢分享!
ubuntuhk + 30 你太有才了!

查看全部评分

回复  

使用道具 举报

39#
发表于 28-6-2014 00:30:48 | 只看该作者
大家可以了解现代开发流程的方式,我建议可以多看看youtube上paul irish的视频,Paul  Irish是前端开发大神,多看看他的视频对自己会很有启发。
Paul Irish, "JavaScript Development Workflow of 2013"
Paul Irish on Web Application Development Workflow

评分

参与人数 1威望 +30 收起 理由
ubuntuhk + 30 谢谢分享!

查看全部评分

回复  

使用道具 举报

40#
发表于 28-6-2014 00:54:54 | 只看该作者
ubuntuhk 发表于 28-6-2014 00:02
在什么平台上开发的?iOS、Android?

本来是个桌面程序。最近打算做在浏览器里,一边也学Frontend开发。将来再做在手机里咯。

评分

参与人数 1威望 +30 收起 理由
ubuntuhk + 30 加油!

查看全部评分

回复  

使用道具 举报

41#
发表于 28-6-2014 05:28:15 | 只看该作者
本帖最后由 DDD888 于 28-6-2014 05:29 编辑
ubuntuhk 发表于 28-6-2014 00:07
分享一片Paypal采用Node.js开发的文章:

PayPal为什么从Java迁移到Node.js,性能提高一倍,文件代码减少 ...


https://www.paypal-engineering.com/2013/11/22/node-js-at-paypal/

很奇怪,对单用户pages/sec node.js 只有3.3,java只有1.8,我写的asp.net mvc网站肯定超过该数字

paypal用的服务器的规格肯定比我用的要好,他们有钱啦
回复  

使用道具 举报

42#
发表于 28-6-2014 06:02:29 | 只看该作者
ubuntuhk 发表于 28-6-2014 00:07
分享一片Paypal采用Node.js开发的文章:

PayPal为什么从Java迁移到Node.js,性能提高一倍,文件代码减少 ...

“Node.js帮助我们将前、后端合二为一,现在我们一个全端团队即可解决用户的所有问题。”

这比较颠覆我一直以来对前后端开发的理解。

越是颠覆以往看法的,越是意味着突破。看来我也要开始关注一下Node.js了。

谢谢分享~

评分

参与人数 1威望 +20 收起 理由
ubuntuhk + 20 我很赞同!

查看全部评分

回复  

使用道具 举报

43#
发表于 28-6-2014 11:13:07 | 只看该作者
想问一下怎样可以把广告什么的刷到第一页
回复  

使用道具 举报

44#
发表于 28-6-2014 11:29:43 | 只看该作者
Angular.js是前端MVC框架,极其简单明了,学起来很快,个人感觉比backbone.js这种好用得多。

node.js是后端框架,直接编译.js文件,看起来很牛的样子,不过没深入用过。

less/sass是“编程式”CSS语言,实现那种很复杂的,样式重用率很高的页面很方便,因为支持变量,表达式这些。

评分

参与人数 1威望 +30 收起 理由
ubuntuhk + 30 谢谢分享!

查看全部评分

回复  

使用道具 举报

45#
发表于 28-6-2014 11:59:46 | 只看该作者
提示: 作者被禁止或删除, 无法发言
本帖最后由 black_zerg 于 28-6-2014 12:59 编辑
ubuntuhk 发表于 28-6-2014 00:05
balck zerg现在做哪方面开发,你给我的感觉是全能程序员


我确实什么都做,从最早Delphi, sap 到 java,到现在c# 和python. javascript 方面是来了澳洲才认真去学。但我目前的工作和JS关系不大,纯兴趣。我的工作和一般的CRUD不搭界,所以视角和主流可能会不同  

我对框架的观念就是能不用就不用,如果真的用就必须了解你为什么用。类似于下面这个观点
https://www.youtube.com/watch?v=cTcdtfUjflI

我NodeJS做后端不是特别看好,觉得麻烦风险大,没看出什么特别的好来。跑些打包工具倒是不错

‘PayPal为什么从Java迁移到Node.js,性能提高一倍,文件代码减少44%’ 这个如果谈代码量, java代码本来就长,这个减少根本不算什么,写java的都是有IDE的。关键是否好读,好维护。性能提高倒是有意义的。要论代码表达能力,python最强,几行就能做很多事。NodeJS 都是异步,写点东西烦得很。

但是NodeJS有很多优点, javascript 其实表达能力很强,所以代码短,用文本编辑器就行。社区也不错,搞了这些年有很多好插件。 grunt用来打包之类很好使。所以如果你能控制环境,用来做自己的产品说不定不错。但我的那些客户估计不买账,我自己都不会有兴趣推。各种语言其实都成熟,如果想做没什么不能做的。

评分

参与人数 1威望 +50 收起 理由
ubuntuhk + 50 谢谢分享!

查看全部评分

回复  

使用道具 举报

46#
发表于 28-6-2014 12:04:56 | 只看该作者
提示: 作者被禁止或删除, 无法发言
cais 发表于 27-6-2014 23:03
呵呵。你也改变看法啦?

看法没改变。AngularJS适合简单的,比较普遍的东西。他做了很多假设。这个思路本身是没什么问题的,功能越强就必须有观点。但是在我的工作领域里这个没有很大用处。

但怎么说呢,新技术总是好东西,创造各种机会,多摸摸没什么坏处。说到底我们都是跟着混的。有钱发,老板高兴最重要。
回复  

使用道具 举报

47#
 楼主| 发表于 28-6-2014 18:39:26 | 只看该作者



呵呵,这个比较得基于同样的硬件平台,同一个业务功能、甚至同一个算法才有意义。
回复  

使用道具 举报

48#
 楼主| 发表于 28-6-2014 19:26:39 | 只看该作者
karl.lee.2004 发表于 28-6-2014 06:02
“Node.js帮助我们将前、后端合二为一,现在我们一个全端团队即可解决用户的所有问题。”

这比较颠覆我 ...


“Node.js帮助我们将前、后端合二为一,现在我们一个全端团队即可解决用户的所有问题。”

这句话还是有点笼统,不能适用于所有业务,正如cais提到的,还得具体业务具体分析,采用最适用的技术方案。不过保持开放思维(Open mind)确实是很有必要的。
回复  

使用道具 举报

49#
 楼主| 发表于 28-6-2014 19:28:39 | 只看该作者
shyaka 发表于 28-6-2014 11:29
Angular.js是前端MVC框架,极其简单明了,学起来很快,个人感觉比backbone.js这种好用得多。

node.js是后 ...


shyaka也是IT的啊,是Web前端工程师吗?

另外,纠正一下上面的说法一个小错误,node.js不“编译”js文件,它只是利用Google Chrome V8 JS引擎来解释JS脚本。 Google的另外一种web编程语言,Go,它是编译型语言。
回复  

使用道具 举报

50#
发表于 28-6-2014 19:29:05 | 只看该作者
black_zerg 发表于 28-6-2014 12:04
看法没改变。AngularJS适合简单的,比较普遍的东西。他做了很多假设。这个思路本身是没什么问题的,功能越 ...

可以具体说一下哪些假设吗?
回复  

使用道具 举报

51#
 楼主| 发表于 28-6-2014 19:33:28 | 只看该作者
black_zerg 发表于 28-6-2014 11:59
我确实什么都做,从最早Delphi, sap 到 java,到现在c# 和python. javascript 方面是来了澳洲才认真去学 ...


看了你推荐的视频,主要是讨论框架打架及如何决定用或不用框架的事情,确实感觉各种框架漫天飞,AgularJS和Node.JS是我正儿八经才看的Web编程方面的框架,还没到深刻理解各种框架的阶段,暂时还不需要考虑框架打架的事情。另外,这个2014 JSConf的视频不错,找时间好好挑选来看看。

回复  

使用道具 举报

52#
 楼主| 发表于 28-6-2014 19:35:42 | 只看该作者
black_zerg 发表于 28-6-2014 12:04
看法没改变。AngularJS适合简单的,比较普遍的东西。他做了很多假设。这个思路本身是没什么问题的,功能越 ...


对于工作来说,选用何种框架或技术,最后一句确实是真理:有钱发,老板高兴最重要。

对于个人职业发展来说,多接触新东西是好事,不过还是要选择自己感兴趣的放心进行专研,不能面面俱到什么都想学,结果什么都学不好。
回复  

使用道具 举报

53#
 楼主| 发表于 28-6-2014 19:39:24 | 只看该作者
caoglish 发表于 28-6-2014 00:30
大家可以了解现代开发流程的方式,我建议可以多看看youtube上paul irish的视频,Paul  Irish是前端开发大神 ...



先收藏了,很想了解现代开发流程,caoglish有兴趣单独开个主题讨论这方面的话题吗,我相信对大家一定会有不小的帮助。

回复  

使用道具 举报

54#
发表于 28-6-2014 20:50:52 | 只看该作者
提示: 作者被禁止或删除, 无法发言
本帖最后由 black_zerg 于 28-6-2014 20:54 编辑
DDD888 发表于 28-6-2014 19:29
可以具体说一下哪些假设吗?


AngularJS 适合交互不是很重的网站,很容易能抽象出Model出来, 用户操作的目的就是改变model,从而再刷一下View。对于交互很重而且界面复杂的单页面程序(我比较感兴趣的领域上),我目前没有看出来这个如何能够帮助我。不管说是工作量还是说代码组织上。

举一个例子,如果你有很多页面,一个页面一个view一个model,angularJS可能比较好用。 但是如果你有一个单页面程序,这个程序有很多的界面控件,各个控件互相交互,用户也要控制各个控件。这时候EventBus,生命周期这些概念更有用一些。 angularJS就帮不上什么忙。你根本没办法抽象出你的model来,而且即使你抽象出来了,因为你界面的复杂,angularJS可能就根本没办法把你的这个model给‘画’出来。

评分

参与人数 1威望 +50 收起 理由
shenlh + 50 我很赞同!

查看全部评分

回复  

使用道具 举报

55#
发表于 28-6-2014 21:22:15 | 只看该作者
ubuntuhk 发表于 28-6-2014 19:28
shyaka也是IT的啊,是Web前端工程师吗?

另外,纠正一下上面的说法一个小错误,node.js不“编译”js ...

主要搞C,C++,C#,我只是路过。。。。

恩,用词有误,确实没有“编译”的过程,多谢纠正~~~
回复  

使用道具 举报

56#
 楼主| 发表于 28-6-2014 23:23:41 | 只看该作者
black_zerg 发表于 28-6-2014 20:50
AngularJS 适合交互不是很重的网站,很容易能抽象出Model出来, 用户操作的目的就是改变model,从而再刷一 ...



不知道你说的交互性很重的网站有什么例子吗?AngularJS肯定不是依赖Model来“画”交互,Model在AuglarJS里面的作用主要就是定义、存储数据的,它的Directive特性不知道你是否了解过(我不太了解,只是知道这个是AngularJS很重要的一个特性,可以用于建立复杂的网站)?

这里有一些用AngularJS建的网站例子,有没有交互性重的?
https://builtwith.angularjs.org/
回复  

使用道具 举报

57#
发表于 28-6-2014 23:37:07 | 只看该作者
框架就是用来解决普遍的问题。定制的页面,如果更注重交互,就是UI/UX设计的主要部分,很多交互,其数据操作层面倒反而简单,互动效果并不是建立在model变化上为主的。Single Page也可以拥有多个model来控制各个部分,如果页面效果不是由数据驱动的,mvvm提供的双向绑定作用就减少了。

评分

参与人数 1威望 +50 收起 理由
ubuntuhk + 50 谢谢分享!

查看全部评分

回复  

使用道具 举报

58#
 楼主| 发表于 28-6-2014 23:58:15 | 只看该作者
mason00 发表于 28-6-2014 23:37
框架就是用来解决普遍的问题。定制的页面,如果更注重交互,就是UI/UX设计的主要部分,很多交互,其数据操作 ...


mason这段话我看懂了一半,学到一个新词MVVM(Model-View—ViewModel),搜到这个网页,有个评论挺有趣:
从Script到Code Blocks、Code Behind到MVC、MVP、MVVM
http://www.cnblogs.com/indream/p/3602348.html

当年用tcp返回二进制,就是web,但二进制解析麻烦。
后来搞了tcp返回字符串,就是web,但字符串不通用。
后来搞了一个cgi,在字符串中拼html,但太烦了。
后来搞了一个脚本开发,php,asp,jsp在html模板中写脚本,但代码不好管。
后来搞了一个mvc,把多数脚本写到专门代码中,但不省事。
后来搞了一个模板,把代码写在模板中分离开,但发现和脚本差不多。
后来搞了一个webform,由服务器生成html代码,但性能低。
后来搞了一个ajax,又把界面程序写在javascript中,但代码量大。
后来搞了一个ajax的mvc,把javascript和显示分离,但不实时。
后来又搞了一个websocket,由服务器推信息到前台,但支持不好。
后来又搞了一个restful,原理和当年tcp返回字符串没什么区别,但json字符串开销大。
后来又搞了 SPDY,QUIC, Protocol Buffers, WebP ,MessagePack,直接用二进制通信,恭喜最终回归原始社会。

一个web开发,搞了几十年又回到了原来tcp通信。

什么设计模式都是浮云,只要基于tcp/ip通信模式不改,

黄鼠狼变猫,变不掉黑嘴壳。

但总是有些人想发明银弹。

评分

参与人数 1威望 +20 收起 理由
black_zerg + 20 精品文章

查看全部评分

回复  

使用道具 举报

59#
 楼主| 发表于 29-6-2014 00:08:40 | 只看该作者
感叹,不管是Node.js还是AngularJS,都需要深厚的Javascript基础,继续看书去。。。
回复  

使用道具 举报

60#
发表于 29-6-2014 01:35:57 | 只看该作者
让人抓狂的是:库、框架、工具、模版实在多如牛毛,让人吐血!
Backbone.js: Provides models with key-value binding and custom events, collections, and connects it all to your existing API over a RESTful JSON interface.
AngularJS: A toolset based on extending the HTML vocabulary for your application.
Ember.js: Provides template written in the Handlebars templating language, views, controllers, models and a router.
Knockout: Aims to simplify JavaScript UIs by applying the Model-View-View Model (MVVM) pattern.
Agility.js: Aims to let developers write maintainable and reusable browser code without the verbose or infrastructural overhead found in other MVC libraries.
CanJS: Focuses on striking a balance between size, ease of use, safety, speed and flexibility.
Spine: A lightweight framework that strives to have the most friendly documentation for any JavaScript framework available.
Maria: Based on the original MVC flavor as it was used in Smalltalk - aka "the Gang of Four MVC".
ExtJS: Amongst other things offers plugin-free charting, and modern UI widgets.
Sammy.js: A small JavaScript framework developed to provide a basic structure for developing JavaScript applications.
Stapes.js: A tiny framework that aims to be easy to fit in an existing codebase, and because of its size it's suitable for mobile development.
Epitome: Epitome is a MVC* (MVP) framework for MooTools.
soma.js: Tries help developers to write loosely-coupled applications to increase scalability and maintainability.
PlastronJS: MVC framework for Closure Library and Closure Compiler.
rAppid.js: Lets you encapsulate complexity into components which can be easy used like HTML elements in your application.
Serenade.js: Tries to follow the ideas of classical MVC than competing frameworks.
Kendo UI: Combines jQuery-based widgets, an MVVM framework, themes, templates, and more.

评分

参与人数 3威望 +120 收起 理由
ubuntuhk + 50 颇有万马奔腾的气势:)
black_zerg + 20 神马都是浮云
nickyang + 50 你太有才了!

查看全部评分

回复  

使用道具 举报

您需要登录后才可以回帖 登录 | FreeOZ用户注册

本版积分规则

小黑屋|手机版|Archiver|FreeOZ论坛

GMT+10, 30-8-2025 03:42 , Processed in 0.040631 second(s), 45 queries , Gzip On, Redis On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表