自己写代码 - HelloHi开发流水账 一 先画个躯壳
2010-02-01 17:39
302 查看
很早以前就听说了AppEngine,可惜当时只支持Python,本来大有为了AppEngine学习Python的意思,可惜当时忙着毕业。后
来AppEngine支持Java了,并且有了Eclipse插件,从创建工程到部署到AppEngine,点几个按钮就可以了事,实在是便宜了我这种被
windows便宜惯了的菜鸟。夸张一点的说,对我这样的菜,IDE的差异甚至不亚于语言的差异。那些在Linux下,用着Vim/Emacs,敲着命令
行的老鸟就不要嘲笑我了。
其实Java我也不是很熟,都怪大学没好好学,大学里被老师暗示,以为C++/Java选
一即可,后来发现这两种语言也没那么大的差别,至于.net和Java,那基本就是一样的。支持Java还不算,还有了GWT这么个东西,可以用Java
来写JavaScript,让我这种从未接触过Js的人也有幸能玩玩Ajax。
于是乎也想玩玩Web2.0,做个啥呢,猛
然想起N就以前听说的Omegle
这
么个东西。这是一个随机聊天系统,大约同时有两三千人在线,你登陆上去之后,可以开始聊天,系统会随机选择一个空闲的陌生人和你聊。玩了玩发现上面基本北
欧人居多,北欧人真的那么闲么?
咱也打算山寨一把,一步一步来吧。
IDE就不说多了,Eclipse3.5,Help->Install New
Software->http://dl.google.com/eclipse/plugin/3.5,安装好插件,就可以了。
然后
File->New->Web Application Project,填好project
name:hellohi和package就生成了一个Web Application Project的sample。
这就已经可以跑了,看看
先。Run as->Web Application
,Eclipse下面的Development
Mode窗口会显示一个地址,copy之,放到浏览器。可以看到一个页面,有一个输入框,有一个Send按钮,按了会弹出一个对话框,显示一些从服务器来
的信息。第一次使用会需要安装浏览器插件,我的ff3.6还是有兼容性问题,推荐使用chrome。
先把界面改成我们想要的。修改
Hellohi.html,去掉那些不要的内容,加入我们想要的内容。先放一个Power by
Google的Logo吧。在html的body中加入<img
src="http://code.google.com/appengine/images/appengine-noborder-120x30.gif"
alt="Powered by Google App Engine"
/>,然后我们加一个div,用来放置聊天的界面,在Logo后面加入<div
id="mainDiv"></div>。
创建一个类HelloUi,extends Composite,
public
class HelloUi extends Composite{
private DecoratorPanel decPanel
= new DecoratorPanel();
private VerticalPanel vPanel = new
VerticalPanel();
private ScrollPanel scrollPanel = new
ScrollPanel();
private VerticalPanel contentPanel = new
VerticalPanel();
private TextArea inputText = new TextArea();
public HelloUi() {
initWidget(decPanel);
decPanel.add(vPanel);
vPanel.add(scrollPanel);
scrollPanel.add(contentPanel);
scrollPanel.setPixelSize(400,
300);
vPanel.add(inputText);
inputText.setPixelSize(400, 100);
}
}
修改Hellohi,他是一个
EntryPoint,把不要的全删掉,然后在onModuleLoad()里面把我们的HelloUi添加到页面上:
public class Hellohi implements EntryPoint {
private HelloUi ui = new HelloUi();
@Override
public void
onModuleLoad() {
RootPanel.get("mainDiv").add(ui);
}
}
现
在刷新一下,页面会是这个样子:
当然
这只是左上角的页面,其余地方都是空白。顶上是App
Engine的Logo,下面是我们的mainDiv。DecoratorPanel就是外面这一圈蓝色的边边,DecoratorPanel里面是一个
VerticalPanel,VerticalPanel里面一个ScrollPanel,一个TextArea,ScrollPanel里面又有一个
VerticalPanel是作为现实聊天内容的,放在ScrollPanel里面聊太多的话就会有滚动条。Panel的大小都是写死在里面
的,GWT2.0提供了一种UiBinder的方式,在xml里面编辑界面,不用把这些都写在程序里。不过一来刚开始我不想搞那么复杂,二来个人认为对程
序员来讲直接写在代码里其实是更方便的一种方式,如果横竖都是我一个人在写也就不需要把界面和逻辑分那么严格。当年做毕设的时候用WPF,写xaml实在
是费劲,那还是有blend可以用。如果google这个uibinder没有图形化的界面,除了可以把界面和逻辑的代码从物理强行掰开,貌似也没有大的
意义。愚见哈。
最后,在war中添加一个favicon.ico,这样就不会再有得不到favicon的报错。http://www.favicon.cc/
这
里可以制作favicon,我在上面随便画了个“Hi”,然后把icon下载下来放到war下面。现在刷新一下页面,可以看到tab上的图标了。
来AppEngine支持Java了,并且有了Eclipse插件,从创建工程到部署到AppEngine,点几个按钮就可以了事,实在是便宜了我这种被
windows便宜惯了的菜鸟。夸张一点的说,对我这样的菜,IDE的差异甚至不亚于语言的差异。那些在Linux下,用着Vim/Emacs,敲着命令
行的老鸟就不要嘲笑我了。
其实Java我也不是很熟,都怪大学没好好学,大学里被老师暗示,以为C++/Java选
一即可,后来发现这两种语言也没那么大的差别,至于.net和Java,那基本就是一样的。支持Java还不算,还有了GWT这么个东西,可以用Java
来写JavaScript,让我这种从未接触过Js的人也有幸能玩玩Ajax。
于是乎也想玩玩Web2.0,做个啥呢,猛
然想起N就以前听说的Omegle
这
么个东西。这是一个随机聊天系统,大约同时有两三千人在线,你登陆上去之后,可以开始聊天,系统会随机选择一个空闲的陌生人和你聊。玩了玩发现上面基本北
欧人居多,北欧人真的那么闲么?
咱也打算山寨一把,一步一步来吧。
IDE就不说多了,Eclipse3.5,Help->Install New
Software->http://dl.google.com/eclipse/plugin/3.5,安装好插件,就可以了。
然后
File->New->Web Application Project,填好project
name:hellohi和package就生成了一个Web Application Project的sample。
这就已经可以跑了,看看
先。Run as->Web Application
,Eclipse下面的Development
Mode窗口会显示一个地址,copy之,放到浏览器。可以看到一个页面,有一个输入框,有一个Send按钮,按了会弹出一个对话框,显示一些从服务器来
的信息。第一次使用会需要安装浏览器插件,我的ff3.6还是有兼容性问题,推荐使用chrome。
先把界面改成我们想要的。修改
Hellohi.html,去掉那些不要的内容,加入我们想要的内容。先放一个Power by
Google的Logo吧。在html的body中加入<img
src="http://code.google.com/appengine/images/appengine-noborder-120x30.gif"
alt="Powered by Google App Engine"
/>,然后我们加一个div,用来放置聊天的界面,在Logo后面加入<div
id="mainDiv"></div>。
创建一个类HelloUi,extends Composite,
public
class HelloUi extends Composite{
private DecoratorPanel decPanel
= new DecoratorPanel();
private VerticalPanel vPanel = new
VerticalPanel();
private ScrollPanel scrollPanel = new
ScrollPanel();
private VerticalPanel contentPanel = new
VerticalPanel();
private TextArea inputText = new TextArea();
public HelloUi() {
initWidget(decPanel);
decPanel.add(vPanel);
vPanel.add(scrollPanel);
scrollPanel.add(contentPanel);
scrollPanel.setPixelSize(400,
300);
vPanel.add(inputText);
inputText.setPixelSize(400, 100);
}
}
修改Hellohi,他是一个
EntryPoint,把不要的全删掉,然后在onModuleLoad()里面把我们的HelloUi添加到页面上:
public class Hellohi implements EntryPoint {
private HelloUi ui = new HelloUi();
@Override
public void
onModuleLoad() {
RootPanel.get("mainDiv").add(ui);
}
}
现
在刷新一下,页面会是这个样子:
当然
这只是左上角的页面,其余地方都是空白。顶上是App
Engine的Logo,下面是我们的mainDiv。DecoratorPanel就是外面这一圈蓝色的边边,DecoratorPanel里面是一个
VerticalPanel,VerticalPanel里面一个ScrollPanel,一个TextArea,ScrollPanel里面又有一个
VerticalPanel是作为现实聊天内容的,放在ScrollPanel里面聊太多的话就会有滚动条。Panel的大小都是写死在里面
的,GWT2.0提供了一种UiBinder的方式,在xml里面编辑界面,不用把这些都写在程序里。不过一来刚开始我不想搞那么复杂,二来个人认为对程
序员来讲直接写在代码里其实是更方便的一种方式,如果横竖都是我一个人在写也就不需要把界面和逻辑分那么严格。当年做毕设的时候用WPF,写xaml实在
是费劲,那还是有blend可以用。如果google这个uibinder没有图形化的界面,除了可以把界面和逻辑的代码从物理强行掰开,貌似也没有大的
意义。愚见哈。
最后,在war中添加一个favicon.ico,这样就不会再有得不到favicon的报错。http://www.favicon.cc/
这
里可以制作favicon,我在上面随便画了个“Hi”,然后把icon下载下来放到war下面。现在刷新一下页面,可以看到tab上的图标了。
相关文章推荐
- 自己写代码 - HelloHi开发流水账 五 一枚臭虫
- 自己写代码 - HelloHi开发流水账 三 别再那么二
- 自己写代码 - HelloHi开发流水账 二 先跑起来
- 自己写代码 - HelloHi开发流水账 四 不止是String
- 自己写代码 HelloHi开发日记 六 掰开Ui和逻辑
- Android 本机代码(Native Code)开发基础 -HelloJni代码详细解释
- 自己动手开发编译器(十二)生成托管代码
- 微信.NET 微信开发 自己主动内容回复 ASP.NET C#代码
- [置顶] 整理一些代码__xu_init.js 作为自己项目开发时使用
- [C#]一步一步开发自己的自动代码生成工具之三:代码生成引擎
- iOS开发--统计自己的工程有多少行代码
- 开发自己的编程语言(五)—— CIL中间代码的生成
- 利用GoogleApp托管自己的PHP代码(Eclipse开发环境)
- 如何在Eclipse中开发并调试自己的插件(或者说如何将自己的代码插件化)
- 自己开发的一款基于PagedDataSource的datalist repeater控件,只需要在源程序中添加三行代码,即可实现通用分页
- [框架那点事儿-快速开发季]编写自己的数据持久层(7)总结篇 代码
- 关于IOS开发的一些有用的代码片段(别人总结和自己的)
- 自己动手开发编译器(十二)生成托管代码
- [C#]一步一步开发自己的自动代码生成工具之四:简单三层代码模板实例Model层
- EclipsePlug-in使用TextEditor开发自己的编辑器,实现关键字高亮和代码提示.