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

[学习深造] AngularJs 关于不使用ng-controller='HelloController'

[复制链接]
31#
发表于 13-3-2014 11:28:10 | 只看该作者

浏览器平台化是不可阻挡的技术趋势。
我们公司下一代的核心产品就是基于浏览器的,优势非常突出。但开发起来也很麻烦,现有的js代码压缩之后接近两m。
我们公司的情况不是个案,现在的web客户端是越来越复杂了。因此一个前端ui框架是非常有存在的价值的。
我们正站在下一个时代的开端,这些新技术虽然有这样那样的弊端,但它们指明的方向没错,只不过还需要时间完善,同时也需要时间让开发人员转变观念罢了。

其实我认为软件业已经从以往那种重型,大框架开发的思维里走出来了。你看现在还有多少人谈论j2ee,webservice?漫天飞的都是rest,动态语言,轻量化框架,敏捷化开发。
矫枉不必过正,没必要否定框架的意义。

至于sql放到客户端,那是不可行的。这年头为了安全大家恨不得把服务器资源的url都全部改写隐藏起来,你还把服务端的逻辑都往客户端放,这样黑客黑起来也太过于轻松了。
回复  

使用道具 举报

32#
发表于 13-3-2014 14:37:58 | 只看该作者
woodheadz 发表于 13-3-2014 10:28
浏览器平台化是不可阻挡的技术趋势。
我们公司下一代的核心产品就是基于浏览器的,优势非常突出。但开发 ...

这个倒是,SQL数据访问什么的,应该还是在服务器端。

我在想前台文件现在开始变大是一个问题。随便放几个javascript框架,就会超过2M,另外每个page请求的时候可能会有缓存,但是总体下载量,会不会还是比以前大很多呢?

由此,我觉得浏览器需要一种新功能,或者http请求需要加入新功能,就是检查服务器端是否有更新。如果没有更新,已经下载的html和javascript(针对这个domian)就不要下载了,甚至浏览器可以将这些文件编译成二进制的来提高速度。这样感觉就像下载源代码,编译运行一样。需要更新的就只有数据了。

评分

参与人数 1威望 +20 收起 理由
black_zerg + 20 全部手写就超不过2m

查看全部评分

回复  

使用道具 举报

33#
发表于 13-3-2014 14:50:50 | 只看该作者
mason00 发表于 13-3-2014 14:37
这个倒是,SQL数据访问什么的,应该还是在服务器端。

我在想前台文件现在开始变大是一个问题。随便放几 ...

这个功能已经有了,浏览器都有缓存的,通过配置服务端发送的http 头就可以控制。
比较新的浏览器还直接支持离线api,让web端在离线状态下依旧能够正常工作,待重新连线之后同步数据。

这几年浏览器发展挺快的。我们的产品本来打算做个壳子包装下提供给android平台用户,但后来发现完全没必要。去年底android chrome开始对webapp提供更好的支持,能很简单加点东西就能把网站变成一个独立的android应用,可以指定高分辨率图标,运行于独立进程和全屏模式。
回复  

使用道具 举报

34#
 楼主| 发表于 13-3-2014 15:05:23 | 只看该作者
woodheadz 发表于 13-3-2014 14:50
这个功能已经有了,浏览器都有缓存的,通过配置服务端发送的http 头就可以控制。
比较新的浏览器还直接支 ...

不准备写个native 的 android应用吗?
回复  

使用道具 举报

35#
发表于 13-3-2014 15:39:18 | 只看该作者
DDD888 发表于 13-3-2014 15:05
不准备写个native 的 android应用吗?

不了,没那个精力啊...
现在这个版本在稍微新点的android平板上运行效果还不错。
回复  

使用道具 举报

36#
发表于 13-3-2014 15:40:01 | 只看该作者
woodheadz 发表于 13-3-2014 14:50
这个功能已经有了,浏览器都有缓存的,通过配置服务端发送的http 头就可以控制。
比较新的浏览器还直接支 ...

和PhoneGap之类比起来怎样呢?
回复  

使用道具 举报

37#
发表于 13-3-2014 16:09:07 | 只看该作者
simpledream 发表于 13-3-2014 15:40
和PhoneGap之类比起来怎样呢?

我觉得要是没有什么太特别的本地操作需求,可以不用phonegap

评分

参与人数 1威望 +20 收起 理由
simpledream + 20 挺不错的样子 :)

查看全部评分

回复  

使用道具 举报

38#
发表于 13-3-2014 19:21:17 | 只看该作者
提示: 作者被禁止或删除, 无法发言
本帖最后由 black_zerg 于 13-3-2014 19:47 编辑
simpledream 发表于 13-3-2014 10:14
引用一段话:


你这么一弄就不是HTML了,再说这种替换也容易的很,自己定义一堆tag,然后动态替换不就行了。问题是这么一堆非标准tag把实现隐藏了,作为个人口味没问题,长期来说,除非能成规范,人人都熟悉。不然每人搞一套各种命名有什么意思。不过说良心话我觉得框架技术越多越复杂,对我们越是好事。我最近也是比较悲观,觉得没活干,或者说担心未来没技术活干。估计很长一段时间这些玩意都只能当个人兴趣。
回复  

使用道具 举报

39#
发表于 13-3-2014 19:46:01 | 只看该作者
black_zerg 发表于 13-3-2014 19:21
你这么一弄就不是HTML了,再说这种替换也容易的很,自己定义一堆tag,然后动态替换不就行了。问题是这么 ...

可以这样做,但非必须

如果你不喜欢AngularJS,你可以用BackboneJS,KnockoutJS, EmberJS..

你可以到这边看看 http://todomvc.com/ 挑一个自己喜欢的就好,我真的没试着说服你什么的,纯个人口味
回复  

使用道具 举报

40#
发表于 13-3-2014 19:50:14 | 只看该作者
提示: 作者被禁止或删除, 无法发言
本帖最后由 black_zerg 于 13-3-2014 19:54 编辑

其实我是闲的没事干手痒,就爱手写js. 如果按我兴趣我喜欢天天编码,但真的我是很担心以后没技术市场。结果现在动手机会越来越少
回复  

使用道具 举报

41#
发表于 13-3-2014 19:53:19 | 只看该作者
black_zerg 发表于 13-3-2014 19:50
其实我是闲的没事干手痒,就爱手写js. 如果按我兴趣我喜欢天天编码,但真的我是很担心以后没技术市场

那我觉得你完全可以一个都不用
回复  

使用道具 举报

42#
发表于 13-3-2014 19:57:23 | 只看该作者
提示: 作者被禁止或删除, 无法发言
我确实不用,我以前还手写过jquery一样的库,写完了跟客户说用的jquery,反正他也看不出。没什么用就是无聊
回复  

使用道具 举报

43#
 楼主| 发表于 13-3-2014 20:25:08 | 只看该作者
black_zerg 发表于 13-3-2014 19:57
我确实不用,我以前还手写过jquery一样的库,写完了跟客户说用的jquery,反正他也看不出。没什么用就是无聊

厉害

羡慕

可以说下如何可以成为JAVASCRIPT的高手吗?

我看到JAVASCRIPT就头疼,我喜欢写c#,delphi,C++等编译型语言
回复  

使用道具 举报

44#
发表于 13-3-2014 20:48:42 | 只看该作者
提示: 作者被禁止或删除, 无法发言
本帖最后由 black_zerg 于 13-3-2014 21:08 编辑

javascript其实不错的,最重要就是记住他的变量范围都是跟函数的,另外有所谓closure。函数可以到处传,随时定义,很方便。类继承,实际上画个图也就理解了。还有一种所谓的函数继承,就是不用prototype类但达到类似类的效果。

我也说不清JS的语法是好是坏。反正语言么,有什么用什么。JS还是比较好玩的。不喜欢JS就用typescript很IDE友好。另外我实际上是Java出身的,五六年前才开始认真写JS,从用jquery到写插件到各种框架到手写流。到现在其实主要是爱好,跟工作不沾边。所以我也理解为什么这么多框架,都是无聊憋的。

我很想写个什么牛的东西玩,不过也想不出来有什么有用又还没人做的。跟工作不沾边,又没人讨论,很难有持续的动力。

DDD888 你不是c#的高手么,给我讲讲 有什么必学的技术? 除了单元测试哈哈。 我最近看看 c#,觉得其实比java灵活,这语言真不错。微软东西很技巧感。 wpf就蛮酷的。
回复  

使用道具 举报

45#
发表于 13-3-2014 21:28:09 | 只看该作者
有本书将javascript的很好,O'Riely的那个犀牛书。里面从javascript基础数据类型开始讲。所有的东西都是object,然后函数是一段存储语句的object,只是用()来执行了。()似乎就是eval()某种等价类型。然后介绍了几个最基本的预定义类型,array,date。然后就是几个最基本函数。object之所以可以扩展是因为它有一个特殊属性prototype。javascript似乎预先倾向功能聚合,而非对象继承。这个选择造就javascript的高扩展性和灵活性。对于面向对象语言学习出生的程序员,比如我来说是一种很大的价值冲击。

当时看javascript,觉得这个语言真操蛋。一帮业余工程师,临时搞出来的东西一样。完全没有C#那种理论与实际完美的结合。现在看来,是自己眼界大小了。不过做C#和delphi的那位似乎也去搞typescript了,没用过,但是我对那位大师是非常佩服的,弄出来的东西应该不差。

C#普通入门可以看《C#高级编程》(Professional C# Simon Robinson等人),就是Wrox的红皮书。进阶推荐那本《CLR via C#》Jeffery Richter。这本书和犀牛书我觉得是我看过的最好的讲变成语言的书。因为他们都会从语言所支持的基础数据类型开始将,然后再从语言提供的功能,也就是函数本身的定义和特性,在扩展到以这些功能而衍生出来的特性。数据类型和函数特性,我觉得是决定一个语言的最基本要素。这中概念基本就是从这两本书里面得到的。

我们应该推荐一下各自看过觉得不错的书。
回复  

使用道具 举报

46#
发表于 13-3-2014 21:41:14 | 只看该作者
我看的都是老书,最近是跟不上时代了,另外一种感觉就是,一旦你看过了某种程度的书之后,那些一般介绍性的书就会不想看了,觉得浪费时间,没有价值。比如《CLR via C#》之后,其他许多将.Net新功能,C#新特新的书我都看不下去,太幼稚了。

这里再推荐一本SQL的书吧,就不另外开贴了。《Learning SQL on SQL Server 2005》
http://shop.oreilly.com/product/9780596102159.do

这本书把SQL语言的特性从简到翻说得很清楚,例子也好理解。几个最重要的概念我都是在这本书中得到理清的
Join的类别: inner, corss, left, right
subquery
Aggregation and GROUP BY
Correlated Subqueries

前三个是面试中最常问到的,如果你能答出前三个的基本定义,基本你的SQL就是可以干活的。第四个就稍难了,我其实也是有时候懂,不用了又模糊了。每次模糊的时候,我只要翻翻这本书的例子,马上又清晰了。这也许就是一本好书的力量。

第四个实际中很少用到,要达到相同的效果,基本会采用迂回的多次query,而且说性能的话,第四个也不一定快,写得不好反而慢。它本身似乎带有递归的意思在里面,可以把复杂的sql写得很简洁,看得懂的人会知道写这个语句的人的程度,看不懂的人会觉得是一个神奇的query。很多技术狂热者,会喜欢这种程度的技术来区别自己和一般程序员。
回复  

使用道具 举报

47#
发表于 13-3-2014 21:45:30 | 只看该作者
回复  

使用道具 举报

48#
发表于 13-3-2014 22:03:27 | 只看该作者
mason00 发表于 13-3-2014 21:28
有本书将javascript的很好,O'Riely的那个犀牛书。里面从javascript基础数据类型开始讲。所有的东西都是obj ...

javascript就是一种操蛋的语言。编了几万行js代码之后我这个观点还是没有变。它在未来我相信会变成一种cli,新建立的高级语言以其为编译目标,就像typescript,coffeescript一样。
语言设计方面我是anders的粉丝。他在c#上的成就实在太过nb,无论是以前的元数据编程还是现在的await,都是令人惊艳的设计。新搞得typescript也是巨牛。实在是我心目中的第一号软件大牛。
回复  

使用道具 举报

49#
发表于 13-3-2014 22:11:24 | 只看该作者
woodheadz 发表于 13-3-2014 21:03
javascript就是一种操蛋的语言。编了几万行js代码之后我这个观点还是没有变。它在未来我相信会变成一种cl ...

是啊,你也是C#出身吗?能讲讲typescript吗?是要以javascript为编译目标吗?这个思路很耳熟,听过不少次。真把javascript当二进制目标啊。。。

不过现在的浏览器端变成就好像以前的汇编语言一样,依赖机器指令,依赖浏览器实现,也许typescript的思路是成为c/c++那样的浏览器端高级语言,呵呵,越往这个方向想,越觉得思路搭调啊
回复  

使用道具 举报

50#
发表于 13-3-2014 22:30:20 | 只看该作者
提示: 作者被禁止或删除, 无法发言
本帖最后由 black_zerg 于 13-3-2014 22:36 编辑

await 看起来跟 promise差不多么。 typescript真不错,好处就是可以直接用JS语法和各种现存库。在vs里跑得很溜。面向对象出身的转Javascript之后,往往忍不住要自己搞一个类继承机制,有了typescript就不用折腾了,super都支持了. JS最难看的地方就是类,这下解决了。 不过javascript有其简洁圆滑的特性,是表达力很强的语言。 typescript是javascript的super版,也就是说 javascript支持的,typescript都支持,这点是独一无二的,非常强势的地方。也就是说你如果不高兴,就在 ts文件里全写js也没问题,他的语法特性你可以一个不用。

这个特性是非常强的,秒杀dart, 在我看来coffeescript也没得比。说简单就是他基本上可以让你无缝使用其他的JS库,JS的所有技巧语法都能用,同时提供类和type,完美的IDE支持。我记得他的说法是其设计会尽可能贴近未来的JS规范,也就是 ECMAScript 6 , 7 之类,所以也许有一天浏览器就能直接跑(稍微改改)也说不定
回复  

使用道具 举报

51#
发表于 13-3-2014 22:36:26 | 只看该作者
mason00 发表于 13-3-2014 22:11
是啊,你也是C#出身吗?能讲讲typescript吗?是要以javascript为编译目标吗?这个思路很耳熟,听过不少次 ...

嗯,我也是vc++,delphi,c#一路搞过来的。
typescript和c#比较像,是很严谨优雅的类型安全的语言,编译结果是标准javascript,可以在主流浏览器上无障碍运行。牛逼的的是typescript完全兼容javascript语法,所以现有的js代码可直接和typescript结合而不用进行任何修改(当然用了js就没有编译时的类型检查)。
回复  

使用道具 举报

52#
发表于 13-3-2014 22:43:42 | 只看该作者
black_zerg 发表于 13-3-2014 22:30
await 看起来跟 promise差不多么。 typescript真不错,好处就是可以直接用JS语法和各种现存库。在vs里跑得很 ...

await是把异步编程从代码形式上完全变成同步;而promise只是方便了异步编程,把一个个嵌套的回掉变成了一个个非嵌套回掉罢了
回复  

使用道具 举报

53#
发表于 13-3-2014 22:53:07 | 只看该作者
提示: 作者被禁止或删除, 无法发言
多谢指点。 我本来做Java的,最近看c#,常有惊艳的感觉。woodheadz 感觉c# 或者说.net以后前景如何,什么技术比较值得深入?

typescript是近期我唯一看好的javascript的前端技术,说实在话,如果有人跟我说用了typescript团队效率提高50%我还真信。 这东西用来开发产品或者库绝对是利器。
回复  

使用道具 举报

54#
发表于 13-3-2014 23:15:29 | 只看该作者
black_zerg 发表于 13-3-2014 22:53
多谢指点。 我本来做Java的,最近看c#,常有惊艳的感觉。woodheadz 感觉c# 或者说.net以后前景如何,什么技术 ...

我一直把.net视为我最喜欢也是最擅长的技术,但说实话,我觉得他在走下坡路。
它和ms绑得太死了,而ms最近几年被苹果google搞得方寸大乱,技术发展线路乱七八糟。一直被视为下一代ui技术的wpf居然一声不吭就给你放弃了,就留下点xaml在win8里继续挣扎。后端情况好些,但如果ms衰落了,它可不是开源的,不见得会有java这样的好命。
回复  

使用道具 举报

55#
发表于 13-3-2014 23:52:28 | 只看该作者
woodheadz 发表于 13-3-2014 22:15
我一直把.net视为我最喜欢也是最擅长的技术,但说实话,我觉得他在走下坡路。
它和ms绑得太死了,而ms最 ...

我估计.net的人都这么感觉,微软没方向了。有点要回去弄c++的意思。SilverLight,WPF,甚至WCF,都有些一脚踏空的感觉。再加上window 8有点抛弃desktop的意思,真不知道以后什么思路了。

关键是手机和tablet这样的移动平台,windows 8还是太贵,太慢了。新平台微软应该单独出操作系统,老是统一天下的思路,把什么都要做到window里面去,反应速度实在太慢了。

按我说,windows 8应该出桌面版,依旧针对桌面特性的应用。windows RT作为移动平台的基础,可以跑在桌面版之上,但是可选的,桌面还是以桌面为主。如果速度太慢,干脆不支持桌面也行。

windows RT跑在移动平台上,单独优化性能和语言。苹果的IOS应该也是分版本的吧,windows 8把桌面和tablet混在一起的做法,很糟糕啊
回复  

使用道具 举报

56#
 楼主| 发表于 14-3-2014 06:40:44 | 只看该作者
本帖最后由 DDD888 于 14-3-2014 06:49 编辑
black_zerg 发表于 13-3-2014 20:48
javascript其实不错的,最重要就是记住他的变量范围都是跟函数的,另外有所谓closure。函数可以到处传,随时 ...


我写C#主要是在asp.net mvc上,写网站,我的目标是写几十亿人都同时使用的网站应用,但现在写的网站一周访问也就120万个request

写C#关键要做的是时刻profile所写的代码,那时间久了就知道哪些代码是花时间的啦,能避免就可以避免啦
回复  

使用道具 举报

57#
发表于 14-3-2014 09:36:55 来自手机 | 只看该作者
mason00 发表于 13-3-2014 23:52
我估计.net的人都这么感觉,微软没方向了。有点要回去弄c++的意思。SilverLight,WPF,甚至WCF,都有些一 ...

国内大的公司好像都是java的天下,澳洲好像.net更流行。感觉微软这些新的玩意都有点抄袭改进嫌疑。c#,.net,win8,typescript。相比typescript, dart, coffee script , typescript 的确优化了其他两个的缺点。微软吸收技术后也做了很大改进,而且结合了它的强项,所以开发上手更容易。
微软从全球角度讲,的确在走下坡路了,因为多年来已经没有什么真正意义上的创新了。
回复  

使用道具 举报

58#
发表于 14-3-2014 12:44:10 | 只看该作者
mason00 发表于 13-3-2014 14:37
这个倒是,SQL数据访问什么的,应该还是在服务器端。

我在想前台文件现在开始变大是一个问题。随便放几 ...

全部手写就超不过2m
我们的这个系统需求相对比较特别,所以除了jquery和我自己knot.js之外没用什么第三方框架。但依然达到接近两M的容量。
不要低估现在前端应用能达到的复杂度,尤其是各种各样的单页应用。
回复  

使用道具 举报

59#
 楼主| 发表于 14-3-2014 13:21:41 | 只看该作者
woodheadz 发表于 14-3-2014 12:44
我们的这个系统需求相对比较特别,所以除了jquery和我自己knot.js之外没用什么第三方框架。但依然达到接 ...

我想大概是你们的系统要自己弄那些图形啦
回复  

使用道具 举报

60#
 楼主| 发表于 14-3-2014 14:23:29 | 只看该作者
woodheadz 发表于 13-3-2014 22:36
嗯,我也是vc++,delphi,c#一路搞过来的。
typescript和c#比较像,是很严谨优雅的类型安全的语言,编译结 ...

请教下visual studio 2013 typescript 报下面的代码出错
date.toGMTString()

Error        60        The property 'toGMTString' does not exist on value of type 'Date'.       
我该如何解决啊?

回复  

使用道具 举报

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

本版积分规则

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

GMT+11, 21-11-2025 16:33 , Processed in 0.035148 second(s), 45 queries , Gzip On, Redis On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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