一个基于Wave GWT Guice 的Sns 设想

简介: 一个基于Wave GWT Guice 的Sns 设想 Created Monday 11 April 2011 现在的sns 都还是刷新 页面。一个一个 的页面刷新。跳转到不同用的页面。这样对于编程是很方便维护成本也很低。 但是,考虑的技术是不断的升级的。用现在的技术已经可以构造一个web2.0 的sns了。 wave 现在已经开源了。代码里面有很漂亮的ui界面。

一个基于Wave GWT Guice 的Sns 设想

Created Monday 11 April 2011

现在的sns 都还是刷新 页面。一个一个 的页面刷新。跳转到不同用的页面。这样对于编程是很方便维护成本也很低。

但是,考虑的技术是不断的升级的。用现在的技术已经可以构造一个web2.0 的sns了。

wave 现在已经开源了。代码里面有很漂亮的ui界面。可以用这个做为一个sns的皮肤。

wave的设计还是有点像一个 邮件系统。有些东西不琢磨就不知道怎么用。

但是漂亮无疑是很重要的。有了GWT一个 富客户端的程序构建就可以很复杂了。

而且速度会很快。虽然现在的网络是越来越快。但谁不希望再快点呢。

如果 把现在的 sns 再 套上一个 wave的皮肤。用gwt 完全实现 一个 全站的 ajax 应用。

应该会吸引更多人的使用。也比原先的 sns 设计使用上 方便很多。还可以做的更复杂。

1),日志,新闻,讨论等信息可以直接在当前页面弹出div 弹出窗口显示。
2)图片照片的预览 可以使用 幻灯效果。
3)可以无缝的 和 google的 map 搜索结合。(有google map 的gwt lib)
4) 在一个 页面可以做跟多的事情。就像是 3D 一样。页面有层次感。

查看了下 wave 的代码。还是非常的复杂的。而且下载了并不能一次编译通过。还有jar包的问题。

在包 org/waveprotocol/wave/client/widget 下是一些基本的组件

org.waveprotocol.wave.client.widget.button
org.waveprotocol.wave.client.widget.common
org.waveprotocol.wave.client.widget.generic
org.waveprotocol.wave.client.widget.menu
org.waveprotocol.wave.client.widget.popup
org.waveprotocol.wave.client.widget.progress
org.waveprotocol.wave.client.widget.toolbar

刚开始看popup 窗口。

// 桌面窗口
        DesktopPopupChrome desktopPopupChrome = new DesktopPopupChrome();
        // 显示标题栏
        desktopPopupChrome.enableTitleBar();
        DropdownPopupPositioner dropdownPopupPositioner = new DropdownPopupPositioner();
        CenterPopupPositioner centerPopupPositioner = new CenterPopupPositioner();
        DesktopUniversalPopup desktopUniversalPopup = new DesktopUniversalPopup(
                RootPanel.get().getElement(), centerPopupPositioner,
                desktopPopupChrome, false);
        // 显示
        desktopUniversalPopup.show();
        // 设置标题
        desktopUniversalPopup.getTitleBar().setTitleText("1234");
        // 添加弹出窗口内容
        desktopUniversalPopup.add(new HTML("普通html组件"));
        // 设置大小
        desktopUniversalPopup.setPixelSize(200, 200);

如果继续下去应该可以将这些组件都研究透彻。

2,如果用gwt 了在用spring hibernate 就显得有些复杂了。
其实可以用简单的框架 guice3 其中 guice3 还对 jpa 进行了事物的封装。
持久层 更简单速度快。

public class GuiceListener extends GuiceServletContextListener {

public Injector getInjector() {

return Guice.createInjector(
        new JpaPersistModule("jpa_unit"), new ServletModule() {
            protected void configureServlets() {

bind(BaseDao.class).to(JpaBaseDao.class).in(
        Singleton.class);

bind(UserInfoService.class)
        .to(UserInfoServiceImp.class).in(
                Singleton.class);

                }
            });
}

}

由guice 创建 一个 JpaPersistModule 然后就可以直接在service里面使用
@Transactional 标记下就可以实现事物,也不用考虑开关闭 连接的问题了。

guice 比起 spring 更加的轻量速度 也快点。内存也要节省。

3,作web的 sns 不比做 管理系统 ,做应用。只要实现业务逻辑就行了。ssh 做项目 ,做管理系统
实践证明是非常的不错的。 至于做 sns 没有说不行。只是想 提出一个不同的设想。
一个不同的解决方案。

当然这个只是一个初级的设想离整个 sns的完成还差很远呢。。
如果有兴趣的可以继续关注。
最后提供 刚研究的 wave 的代码(不是wave的全部,只是挑拣出可以运行的部分,可以到waveprotocol项目去下载全部代码)。
guice的代码 暂时还没有添加进来。

目录
相关文章
|
5月前
|
Scala 前端开发 开发者
Play Framework模板引擎大对决:Twirl的魔力与Mustache的简约,谁才是真正的王者?
【8月更文挑战第31天】刘杰是一位软件开发工程师,在基于高性能Web框架Play Framework的新项目中负责前端页面开发。在个人博客里,他详细比较了Play Framework提供的两种内置模板引擎——Twirl与Mustache。Twirl为Play默认模板引擎,使用Scala编写,具备强大的功能与灵活性;而Mustache是一个无逻辑的模板引擎,适用于多种编程语言,使用双花括号表示变量。
48 0
|
缓存
webpack原理篇(六十一):更复杂的 loader 的开发场
webpack原理篇(六十一):更复杂的 loader 的开发场
137 1
webpack原理篇(六十一):更复杂的 loader 的开发场
JM
|
前端开发 图形学 C++
一个 web 开发者眼中的技术美术(TA—Technical Artist)
Techical Artist 的中文翻译是技术美术,相比于直译为技术艺术家,技术美术这个称谓让我感觉更加亲切,当然艺术家这个称谓也很好,很高级 :p ;在游戏行业里我们常常能听到美术这个职位,而技术美术,从字面意思我们就能够大概了解这是一个既需要懂技术又需要懂美术的职业。那么技术美术具体工作是什么呢?我去搜索了一番,发现没有非常权威的定义,不过可以找到比较普遍的说法是:给美术团队提供技术支持,从
JM
998 1
一个 web 开发者眼中的技术美术(TA—Technical Artist)
|
存储 缓存 ARouter
X-Library系列Android应用框架详解
X-Library系列Android应用框架详解
767 0
X-Library系列Android应用框架详解
|
供应链 安全 区块链
在 Gear 上开发的案例有哪些?
Gear 是一个完备的区块链网络,也是 Polkadot 和 Kusama 上最先进的智能合约平台。它能够使开发者用最简单、最高效的方式部署去中心化应用。在 Gear 上,所有智能合约都是用不同编程语言编译的 WebAssembly 程序。这大大降低了 dApp 开发者的准入门槛,对区块链的编程语言不太熟悉的开发者们,可以在熟悉的编程语言环境中构建去中心化应用。
120 0
 在 Gear 上开发的案例有哪些?
|
存储 Rust 安全
是什么让 Gear 与众不同? 在 Gear 上部署有什么好处?
Gear 是一个智能合约平台,任何人都可以在去中心化网络以及 Polkadot 生态系统中开发和部署 dApp,就像在 Layer-1 区块链网络中一样,但效果更胜一筹!
207 0
是什么让 Gear 与众不同? 在 Gear 上部署有什么好处?
|
开发者 iOS开发 容器
iOS开发CoreGraphics核心图形框架之五——Patterns模型的应用
iOS开发CoreGraphics核心图形框架之五——Patterns模型的应用
240 0
iOS开发CoreGraphics核心图形框架之五——Patterns模型的应用
|
iOS开发 开发者
iOS开发CoreGraphics核心图形框架之一——CGPath的应用(二)
iOS开发CoreGraphics核心图形框架之一——CGPath的应用
606 0
iOS开发CoreGraphics核心图形框架之一——CGPath的应用(二)
|
Swift C语言 iOS开发
iOS开发CoreGraphics核心图形框架之一——CGPath的应用(一)
iOS开发CoreGraphics核心图形框架之一——CGPath的应用
340 0
iOS开发CoreGraphics核心图形框架之一——CGPath的应用(一)
Silver“.NET研究”light 游戏开发小技巧:透明背景的Silverlight程序
  一些朋友在玩窝窝世界的时候,发现官方网站上的进入入口程序是Silverlight,但是有趣的是一个透明背景的Silverlight程序,这个效果最早我也未找资料,在未来Silverlight程序会在各个方面应用,透明背景的效果就会涉及,这种效果预览如下:   下面一步一步的告诉大家这个小技巧,首...
1009 0