Jim’s blog

December 23, 2004

jwing.jpad

【2:14 am By Jim】

========================= 
 缘份是前世临終时感情的延续
 
 缘份是此生輪回前不变的誓言 
 
 缘份是你我曾说过的幸福約定 
 
 缘份是再為人時仍能相遇的美好
 
 猿粪就是猴子的粑粑……
========================= 

     今天把JPad的框架定下来了,説来惭愧,本来是要做一个JForum的,但是基于J2EE的架构,并不是我一个人一朝一夕就可以完成的(当然我還是会做,这个一直都會是我的目标),所以想想还是决定先做JPad,毕竟開源社區一直以来都没有一个类似Win下好用的 Notepad/Editplugs/UltraEdit,最少我这麽认為。
   
    我目前的想法,JPad主要功能大致如下:

=========================
* Supports popular platforms like Windows, Mac, Linux, Unix, BSD etc.
* UNICODE support
* Syntax highlighting - configurable
* File Management
* FTP Management
* Project/Workspace support
* Configurable keyboard shortcut
* Column/block mode editing
* Named Templates
* Multi-byte Support with Integrated IME Support
* Tabs browsing
=========================

  想法大致就是这樣了,有些方面涉及到我不熟悉的知識,需要時間去學习和研究,比如FTP方面的網絡知識。
  开頭总是比較煩的,我没什麽头緖,光理清这些已经很夠我受了,首个抉擇就是Swing OR SWT,我研究了好一会,总結一下:
 
Swing:
========================= 
优點:
1. 標準化。JDK内部集成,只要是使用SUN或通過JCP认證的JVM的地方,就不会出現不可遇見的不兼容或其它的意外情况,我是这麽想的^_^
2. 还是標準化。Swing的Look And Feel全部由Java Core實時渲染産生而不通過OS(不受限于OS),所以在任何平台下,Swing都得能到一致的外覌(至少可見的OS上是这様的);
缺點:
1. Swing的缺點比較混蛋,完全是由它的第2个优點產生的。因为Swing的所有LAF都由SDK的Core實時渲染產生,放着OS内現成的LAF不用,所以Swing就得到个吃力不討好的結果:慢。JAVA不适合做GUI的"結論"也大多源于此(^_^)


SWT(Standard Widget Toolkit):
=========================
优點:
1. 美观。SWT类似于AWT,是通過使用OS原生的LAF实現的,所以能很轻松的實現于本地LAF一致的外覌包括字體,这是Swing所不能完成的,至少是不能轻易完成;
2. 快速。很明显,得益于第一點,SWT就明显比Swing来得快速。
缺點:
1.  非標準化。 SWT的这个"缺點"能不能算上缺點其實還真不好説,SWT是IBM的Eclipse Developers在开發Eclipse時因爲發現 Swing的種種不能忍受的缺陷所开發的,这当然是不能被SUN所接受的事情。好了,扯遠了,反正結果就是,SWT至今还未能进入JDK中,1.5也没有。所以对以"Write Once, Run Anywhere"为口號的JAVA来説,这当然是不能被接受的了。


    基于对Swing和SWT的比較,我决定JPad目前的GUI Framework還是由Swing开始,如果SWT开始流行甚至进入JDK了,我会寫多一个SWT的版本的^_^

这是JPad的初步框架,还没加Panel的
=========================


nt>

Comments »

The URI to TrackBack this entry is: http://jim.blogsome.com/2004/12/23/jwingjpad/trackback/

No comments yet.

RSS feed for comments on this post.

Leave a comment

Line and paragraph breaks automatic, e-mail address never displayed, HTML allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>



This work is licensed under a Creative Commons License .
Get free blog up and running in minutes with Blogsome | Theme designs available here