SmartInvoke是一国产开源API,实现当前所有主流平台之间方便的互调。
目前版本:
项目名称 | 项目原理 | 项目用途 | 项目比较 |
Java与Flex版 | 在swt中加载flash的swf文件,通过flash的ActiveX接口与Java进行通信 | 从此你可以用Java做后台服务,用Flex快速定制漂亮的软件界面,取长补短,充分发挥 Java与Flex的优势 | 从此以后,你可以通过SmartInvoke用Java与Flex快速开发出漂亮的桌面程序,它具有 比纯SWT开发更快捷,开发界面更美观;比Air开发更稳定高效的优势。 |
C#与Flex版 | 在winForm中加载flash的swf文件,通过flash的ActiveX接口与C#进行通信 | 可以在WinForm中嵌入许多漂亮的Flex控件,让界面更美观 | Flex具有许多漂亮的开源控件,现在你就可以将它们加入到你的WinForm程序中了, SmartInvoke会为你解决Flex与C#通信的问题的。 |
Java与C#版 | Java与C#通过套接字以二进制流的方式进行通信 | 只要Java与C#能进行套接字通信,SmartInvoke就能为你提供一个像本地代码调用一样方便 快捷的通信方案。 | 整个API的大小不会大于1MB,而且不需要Web服务器的支持,方便快捷的配置使 SmartInvoke不仅可以用于Web程序,而且可以用于桌面程序。 |
项目优势:
1: 对象代理模式,使平台之间的互操作就像本地代码调用一样简便
在smartInvoke中的对象不像webservice中的对象,他是有状态的, 每个代理对象对应一个服务对象,服务对象跟随代理对象一起 创建, 然后被代理对象调用,最后在代理对象销毁的时候调用服务平台销毁 对应服务对象
2:简洁高效的中间报文设计,使大数据量与高强度访问成为可能
抛弃了xml与json这些低效的中间报文格式,使中间数据的生成与解析 效率提高了将近10倍
3:中间代码自动生成工具 (CodeTransform), 使一切都变得那么简单
通过CodeTransform自动生成代理对象代码,把用户从乏味繁琐的 中间代码编写中解脱出来。
4:完全国产开源
你可以下载源代码,在作者的基础上进行二次开发,创造出更棒的产品。
5:帮助文档全中文,可以方便的联系到作者与其交流。
本质上来说事件回调也是属于Java调用Flex。前面的Java调用Flex部分已经实现了该功能。但前面介绍的方式有些弊端: 1. 导致Java逻辑代码与Flex接口部分代码结合的比较紧密,降低了代码的可维护性。 2. 程序调用的smartinvoke API比较多,代码的可移植性不高。 在这里我们介绍smartinvoke的事件回调机制,可以解决上面遇到的两个问题。 首先修改First项目中的
前面讲的都是Flex调用Java的情况,但是在某些时候需要Java调用Flex,比如,当Java某个后台任务执行完毕后应该调用Flex以便界面得到响应。 首先我们在Flex项目First_中新建一服务类cn.first.FlexService供Java调用,内容如下: package cn.first { import cn.smartinvoke.ServerObject;
本篇首先介绍 怎样将没有实现IServiceObject接口的类映射为服务类。 然后介绍 怎样修改默认的类型对应规则。 映射服务类型: 如果Java中的test.CFile类没有实现IServiceObject接口,而我们又 要flex的test.CFile代理类实例访问到该test.CFile类实例。 在Java中可以在FlashContainer加载flex程序的前面调用以下代
原文地址 http://smartinvoke.cn/pages/disArticel.jsp?id=13 大家都知道flex的web application不能操作和访问本地文件,我们今天就通过 smartInvoke让flex可以轻松的访问到本地文件。 一:在java应用程序中创建一操作本地文件的test.CFile类,创建几个对文件进行 访问的方法;具体如下: view plain co
SmartInvoke使用cn.smartinvoke.gui.shell.FlashShell类管理应用程序打开的窗口,通过该对象,用户可以设置窗口的标题,位置,大小,是否可以,透明度等属性,还可以监听窗口的 CShellEvent.Event_Activated,CShellEvent.Event_Closed,CShellEvent.Event_Deactivated, CShellEven
在FirstWin.mxml中通过调用addKeyBoardListener方法可以设置键盘监听器,该方法在cn.smartinvoke.gui.SIApplication类中定义,方法说明如下: public function addKeyBoardListener(listener:Function, target:Object, vk1:int = -1, vk2:int = -1,
通过实现flashPlayer activeX的消息钩子可以很轻松的屏蔽掉flex的系统右键菜单, 从而实现自己的右键菜单。当然这个消息钩子也会监听到键盘消息,从而你可以很轻松 的实现自己的键盘事件。 代码如下: view plain copy to clipboard print ? //将flash控件添加到窗体 this .flashContainer= new FlashC
下载地址 http://smartinvoke.cn/pages/download.jsp 原文地址 http://smartinvoke.cn/pages/disArticel.jsp?id=18 通过SmartInvoke运用java与flex轻松构建cs程序(数据类型的传递) flex与java基本类型对照关系如下: SmartInvoke对以下所列的基本数据类型做了特殊处理,提高了