java 板


LINE

我注意到 GWT 是今年年初的事情 如果再不碰 AJAX 的技术,那可以准备个骨灰坛把自己装进去 [炸] 同时进了一家小工作室,於是跌跌撞撞 把开发环境从 PHP(CodeIgniter)+jQuery 先用 GWT 换掉 jQuery 以及画面输出,完成了两个案子 最後是用纯 GWT 完成了一个案子... 然後离职了 lol 虽然都没用什麽高深的技术、案子也都不大 但也勉强能算是实做过 因此,我一直对 GWT 在台湾(或华文世界?)讨论 & 资源很少 甚至连掀起一阵热潮都没有(例如像 Ruby,至少出了一堆中文书) 总觉得哪里怪怪的 如果以 ptt.cc 当样区 是说,除了 jQuery 之外,其他 AJAX/JavaScript的技术 Ext、YUI、dojo、DWR... 也没看到什麽讨论 Java 版上头也几乎是基础的 J2SE 问题涵盖了 80% 以上的讨论 JSP 的问题也几乎都「只是」JSP 的问题 zk, JSF 还有一堆东西,几乎都不见踪影 这会不会是 ptt.cc 的一种趋势,除了西瓜效应之外 也停滞不前,或说对新技术的不在意 or 不敏感? 亦或是高手们觉得孤掌难鸣曲高和寡,问/讲了也是白问/讲? ㄜ... 扯远了... 最近没有工作,加上这两篇的 combo 连击 XD →《Is GWT the future of web development?》 翻译:http://pt2club.blogspot.com/2009/11/gwt-web.html 原文:http://blog.balfes.net/?p=869《Lost in Translation or Why GWT Isn't the Future of Web Development》 翻译:http://pt2club.blogspot.com/2009/11/gwt.html 原文:http://www.cforcoding.com/2009/10/ lost-in-translation-or-why-gwt-isnt.html 以下简称《Isn't Future》 让我兴起想要写 GWT 推广文系列的念头 (迷之声:系列? 谁知道你能撑几篇... [殴]) 在以传统教学方式介绍 GWT 之前 先针对反对 GWT 的论点作一些思考 毕竟,知道敌人(?)怎麽想,是很重要的.... (虽然我觉得《Isn't Future》写的实在... Lost in Words? lol) OK! Let's start... * * * 〔Java 是快过时的东西吗?〕 GWT 是以 Java 语法作为开发语言 我们在写 GWT 时,绝大多数是在写 Java 只有在需要直接操作 JavaScript 时 才需要藉由 JSNI 来写一些 JavaScript 《Isn't Future》强调 script 才是未来的主流 type safety 没有也没差 dynamic typing 可以少掉很多麻烦 JavaScript、Ruby、PHP 等等语言也写出很多软体、也没有炸掉 在开发阶段可以少些时间在等待 (这篇文章看到後来,比较像是在诘谯 Java Orz) 我的程度无法讨论 or 比较这些东西谁优谁劣 或着说,我的程度只能写 Java 因为 Eclipse 这种等级的 IDE 可以帮我处理很多杂事 code assist 也好、open declaration 也好(撇开 OO 的部份) 至少我年初用 PDT 跟很久之前用 RDT 都没有堪用有效的工具(据说是很难有?) 当然,script 语言如果封装的好、能够产生良好的 API doc 那麽这些东西或许就没差? 充其量就是脑袋要记得多一些东西? 但是,如果回归商人的角度去想 为甚麽 Google 在选择 GWT、Android 的开发语言 是用 Java 而不是用 Python?(即使是 App Engine 後来也?) 或是,理论上更多人会用的 C/C++? 话说回头,「潮流」这回事情实在令人费解 很久以前的 Basic 系列都不用定义变数型态 後来 VB 可以不用定义、也可以强制定义、到後来就都要了 现在有人说,script 才是未来的主流 这中间的思维转折,到底是怎麽一回事呢? 〔为甚麽我要学 JavaScript?〕 假设你会机械语言 [笑] 你会用机械语言当作软体开发的语言吗? 《Isn't Future》的答案是: 你应该要用机械语言 而不是用高阶语言撰写,再透过工具转换成机械语言 中心思想是 Joel 的文章《The Law of Leaky Abstractions》 试图论述一件事情:Java 不可能完整地转成 JavaScript 这又可以拆成两个部份来讨论 一个是实作的能力、一个是语言本身的能力 关於「实做的能力」,《Isn't Future》没有明确地说些什麽 我想,如果 Google Wave (GMail?)是用 GWT 做出来 这部份大概也没什麽好质疑的 理论上 JavaScript 能作的事情,GWT 都(可以)有对应的功能 (还有 JSNI 这个大绝招嘛... [炸]) 更进一步说,如果你用 GWT(刚好又会 Java 跟 Swing 基本概念 :P) 你将可以摆脱传统写网页程式的困扰:要会一堆东西 (X)HTML、JavaScript、DOM、AJAX... 最後还来个该死的浏览器差异 也不用为了要处理上头那一堆东西,再去学一个像 jQuery 的东西 (jQuery 的程式码看起来像另一种语言 XD) 你就是在写 Java,只不过出来的画面是在 browser 上 当然,我认同文中说「好的程式设计师应该能很快的学会新东西」 但是,开发阶段最痛苦的是那些藏在细节中的妖魔鬼怪 这跟学习能力好坏与否无关 唯有对该技术的深入了解才能稍微减轻 or 减少这种痛苦 我这种笨蛋,没办法掌握太多(各自独立)的技术 《Isn't Future》大多数是在阐述很多 JavaScript 的语言特性 在 Java 当中是没有的,而且有些根本作不出来。 问题是:为甚麽? (卢广仲:Rock!! [炸]) 如果功能都做得到,那麽语言特性真的有那麽重要吗? 我们真的需要在 object 上头随意加挂 attribute 跟 method 吗? 我们真的需要写 first class function 吗? 如果不是没有也无损功能实做(最多罗唆点 :P) 那麽 Java 不能做出 JavaScript 的语言特性,又如何? 现在大多数的语言也没有 goto 或是 jump 啊? 嗯... 还好我不会机械语言 :) 〔其他〕 上头没涵盖的零散论点,集合在这里 →GWT 内建 widget 丑到爆 如果你在意自己长得不够美 只要体质好、本钱够,整形技术可以让你焕然一新 只要在 gwt.xml 拿掉设定,widget 预设的 CSS 就会移除 还原成 browser 最原始会呈现的样子 要自己加挂 CSS name 当然没有问题,剩下来是美术人员烦恼的事情 反过来说,我还没看过什麽正式的网站 不去修改元件的外观(Google 自己的网站不算 XD) 爱美不是罪,但是本末倒置是一种错误。 →compile 速度爆慢 GWT compile 成 JavaScript 的时候,真的是打混摸鱼的好时光 但是在「全部使用 GWT」的情况下 开发阶段根本不需要 compile client 的变动,在 hosted browser reload 之後 跟改 PHP/JSP 然後重新 reload 的速度差不多 (重点是 GWT 只有「一页」,PHP/JSP 有好多页) server 端的变动,需要 restart server 这跟改 web.xml、servlet 的状况是一样的 (GWT RPC,server 端是一个 servlet) 跟 GWT 的 compiler 没啥关系 只有在 server 端不是使用 GWT RPC 因为 cross-domain 的关系,必须先 compile 成 JavaScript 放到实际 web server 上头才能测试 (当时有弄出用 form submit 来暂时代替的奥步 可省下一些时间 XD,不知道有没有其他方法?) GWT 2.0 会对此做出改进 但是对纯 Java(GWT)开发环境而言,其实就还好... 〔结尾 & 开始〕 《Isn't Future》并没有说服我 还是选择站在 GWT 这边的 \囧/ 接下来,我会开始唬烂 GWT 尽量有系统地瞎掰出一些教学文章 如有谬误之处,还请高手前辈们指点一二以正方家 如有疑问 or 建议,也欢迎版上讨论 or 来信指教 就先这样啦~ 囧> -- 侃侃长论鲜窒碍 首页:http://www.psmonkey.idv.tw 众目睽睽无心颤 Blog:http://ps-think.blogspot.com 茕居少聊常人事 杀头容易告白难 欢迎参观 Java 版(@ptt.cc) \囧/ --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.231.113.251
1F:推 costbook:因为客户还不知道,公司也就不想找自己麻烦(无误) 11/18 21:49
2F:推 Eryngium:不用GWT 美工与PG完全可以独立作业 用GWT则必须互相绑在 11/18 22:27
3F:→ Eryngium:一起 这对开发专案来说实在是个负担 我觉得啦 11/18 22:28
4F:推 slalala:楼上感觉说到重点ㄟ 11/18 22:38
5F:→ PsMonkey:敢问在不用 GWT 的情况下,是怎麽「独立」作业的? 11/18 22:44
6F:→ PsMonkey:其实我一直不知道业界怎麽分配/规划这件事情 11/18 22:45
7F:推 ducksteven:用 MVC 架构的就多少可以拆开来做了吧 @@ 11/18 22:52
8F:推 Eryngium:美工可以用自己的方式做UI完全不需要管PG是用什麽样的方 11/18 22:57
9F:→ Eryngium:法、技术,而PG不需要去管CSS等画面上的事情就是独立啦@@ 11/18 23:01
10F:推 guestciel:推~~期待续集..:D.. 11/18 23:22
11F:推 TonyQ:很重要的是 , 不全部都懂的人很难掌握全貌 , 都懂得人又不想 11/19 00:16
12F:→ TonyQ:回头去当笨蛋被牵制於一套制式化的环境.... 11/19 00:18
13F:推 kene:推楼上, 除非该架构是自己写的 XD 11/19 07:57
14F:→ weiyucsie:gwt该归类在java还是javascript?XD 11/19 14:09
15F:→ weiyucsie:不过期待版大的gwt教学:p 11/19 14:28







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Gossiping站内搜寻

TOP