精华内容
下载资源
问答
  • 第20章 客户端平台(RCP)技术,swt,eclipse插件开发学习笔记 第20章 客户端平台(RCP)技术,swt,eclipse插件开发学习笔记 第20章 客户端平台(RCP)技术,swt,eclipse插件开发学习笔记 第20章 客户端平台(RCP)技术,...
  • Eclipse客户端平台RCP程序使用的中文语言包。用于开发Eclipse插件或RCP客户端平台使用。
  • 微信小程序-仿学网家教电商平台系统
  • 10月26日,全球领先的嵌入式多媒体解决方案提供商Streamezzo,宣布推出手机媒体开发平台,该完整的集成软件包,可以使移动电话运营商和服务提供商快速而容易地建立和开发新的媒体服务,为手机提供一种“端对端”...
  • 媒体网络广告平台icast实施方案.ppt
  • 微信公共平台 - 平台接口媒体与“天气预报”应用
  • 行业文档-设计装置-客户平台中表格的创建方法及装置
  • 构建基于云计算的媒体协同创新平台.pdf
  • 行业分类-设备装置-基于Flex的客户端平台系统及其操作运行方法.zip
  • NULL 博文链接:https://jianshi-dlw.iteye.com/blog/1174555
  • 构建基于媒体大数据的弹性深度学习计算平台.pdf
  • Android平台下的文本解析器,支持Html和Markdown
  • Centrallix是基于浏览器的DDSL(声明性域特定语言)互联网应用程序平台,具有数据和应用程序抽象,用于连接各种数据源,声明性(未编写脚本)的开发,报告,组件和样式模板SQL引擎。
  • icarus-android:Android平台上最好的文本编辑器, 基于Simditor
  • 微信公众平台接口封装功能类文件,微信公共平台接口媒体与“天气预报”应用源码
  • 微信小程序-仿学网家教电商平台系统.rar
  • ​futu-api开源项目可以满足使用途Open API软件进行量化投资的需求, 提供包括Python接口、Json和Protobuf接口的行情及交易的API。
  • 微信小程序开发-学网家教电商平台案例源码.zip
  • 转载于http://wwwwwhg.javaeye.com/blog/701839Riena / rcp 基于Eclipse客户端平台 -- 面向业务的C/S应用软件平台Riena平台将是建立多层C/S企业应用的基础。通过提供一种透明的方式访问本地和远程服务,Riena将会...

    转载于http://wwwwwhg.javaeye.com/blog/701839

     

    Riena / rcp 基于Eclipse富客户端平台 -- 面向业务的C/S应用软件平台

    Riena平台将是建立多层C/S企业应用的基础。通过提供一种透明的方式访问本地和远程服务,Riena将会扩展OSGi/Equinox的面向服务架构的应用。利用这种统一的编程模型,可以在完全不考虑目标位置的情况下开发Riena的组件和企业应用的业务组件,并在随后根据业务需要轻松地将组件放入客户端或服务器端
       Riena将会提供一个UI metaphor,它可以支持典型的面向业务流程的应用交互。导航和可视化不但将帮助用户集中精力于当前的流程和任务,而且也允许他同时工作于不同的流程。
       Riena UI 和 Eclipse 传统的 workbench 方式的 UI 很不一样。 Riena 的目的就是要提供一个新的 UI 选择,使得 UI 不是那种面向 IDE 的 workbench 方式,而是对普通的商业处理流程更友好。 同时,Riena 希望能够提供更简单和高级的 API 来制作 UI,包括使用 Eclipse 的 Data Binding 技术和数据有效性校验技术,将 UI Form 直接和数据源的数据绑定,就好像 PowerBuilder 里面的那种 Data Window。


      下面是Riena范围的详细计划:
        支持分布式企业应用——Riena将支持运行在远程服务器上的OSGi服务。
         ●Eclipse的OSGi框架(Equinox)不仅能够运行在独立的客户端,同样也可以运行在服务 器端。以类似和一致的方式开发一个综合的富企业应用,不但要求组件能在客户    端或服务器端运行,而且还要求应用层之间强壮且灵活的通信支持。所有这些都可以基于标准的Equinox平台实现,因此应用程序开发者根本不必担心这些技术细节。
         支持面向业务流程的UI——这项工作从Milestone 3就已经开始,旨在提供一个更加面向业务用户的UI。
         ●软件升级/供应——由于C/S应用程序的特性,软件升级通常不是由终端用户控制,而是由后端服务器启动的。Riena将利用Eclipse Provisioning以及Eclipse Maya中已经获得的成果来实现自动部署。
    认证和授权——计划要同Equinox Security以及用作单点登录的Eclipse Higgins进行整合。
         ●报表——Riena将会提供一个框架,其独特之处在于产生报表的各项工作(数据整理、排序、过滤以及解析输出)可在服务器和客户机之间交替。最终Riena将会和BIRT整合,以提供更多综合报表。
         ●持久化和对象事务——为支持C/S架构,Riena将会引入一种新的机制以在两个环境中保持对象状态同步,主要通过支持对象级事务实现。Riena无意再去重新发明已经存在的持久化功能,如EclipseLink、Hibernate和其它框架实现的那样。Riena会查漏补缺,并结合持久化组件和对象事务组件,优化客户端和服务器之间的大型业务对象的交易。
    外部应用整合——C/S应用程序通常都需要和其它应用软件整合,例如PDF阅读器、邮件应用以及web浏览器等。
         ●监视客户端状态——所有的客户端的登录行为都会反馈到服务器端,Riena将利用这一特性提供警示功能,并时服务器事件和客户端错误相关联。
         ●外部应用整合——C/S应用程序通常都需要和其它应用软件整合,例如PDF阅读器、邮件应用以及web浏览器等。
         ●监视客户端状态——所有的客户端的登录行为都会反馈到服务器端,Riena将利用这一特性提供警示功能,并时服务器事件和客户端错误相关联。


    插件是什么?

    Eclipse 联机帮助将插件定义为:

    “插件是为系统提供功能的代码和/或数据的结构化包。可以以代码库(带有公共 [应用程序接口] API 的 Java 类)、平台扩展甚至文档的形式来提供功能。插件可以定义扩展点、定义良好的位置,其他插件可以在这些位置添加功能。”
    要注意的一个重点是插件以结构化方式提供功能。它们可以提供服务(比如日志)或可用于用户界面(UI)的功能,比如编辑器。不管什么功能,所有插件都以相同的结构化方式来定义
    展开全文
  • 在 JavaFX 平台上开发 Internet 应用程序 JavaFX 是一个富有表现力的客户机平台,用于创建和提供跨多个生活场景的 Internet 体验。JavaFX 平台为您创建跨多个界面(包括手机、桌面、电视和其它消费设备)的...
      
    

    在 JavaFX 平台上开发富 Internet 应用程序

     

    JavaFX 是一个富有表现力的富客户机平台,用于创建和提供跨多个生活场景的富 Internet 体验。

    JavaFX 平台为您创建跨多个界面(包括手机、桌面、电视和其它消费设备)的富 Internet 应用程序(RIAs)和内容提供了无与伦比的自由度和灵活性。它将 Java 平台的最佳功能与综合、大量的媒体功能结合到直观、综合、一站式开发的环境中。

    JavaFX 平台允许内容开发人员集中精力创造而不是编码。它使开发人员能够创建改变了行业面貌的应用程序和吸引人的内容,具有最大的市场渗透机会。

    JavaFX 1.0 是 Sun 战略的第一步,使应用程序中包含跨多个界面的大量丰富媒体和内容成为可能。

    为什么选择 JavaFX 平台?

     开发人员正在寻求跨多个界面创建 RIAs 的最有效方式。他们需要构建在多个 Web 浏览器、操作系统和设备上无缝操作的高保真 GUI 而不必针对每个界面接入或者重写应用程序。为了实现这一目标,开发人员需要与团队成员高效工作,例如与图形设计人员和媒体创作者交换音频、视频和其他富媒体资源。

    JavaFX 1.0 平台引入了基本的工具和技术,使开发人员和设计人员能够协作、创建 RIA 并将其部署到浏览器和桌面上。此外,移动应用程序开发人员可以在 JavaFX 平台上使用 JavaFX 1.0 Mobile Emulator Beta 发行版来预览移动 RIA 的开发。

    JavaFX 1.0 平台的主要特性包括:

    • 一站式服务 RIA 平台适合于所有界面:使用统一开发和部署模型跨桌面、浏览器和移动设备进行吸引人的可视化体验。
    • 最广泛的市场:借助 Java 的强大功能可以轻松地在亿万台设备间分发 RIA。
    • 设计人员-开发人员工作流:显著缩短设计和开发的生产周期。
    • 功能强大的运行时:利用 Java 运行时的极大的普及性、强大功能、性能和安全性。
    • 可以随意与浏览器断开:将 JavaFX 应用程序从浏览器拖放出来并部署到桌面。
    • Java 技术的兼容性: 通过在 JavaFX 应用程序内启用 Java 库来保留您的投资。

    我们能使用 JavaFX 1.0 构建什么?

    在此,我们从范围广泛的 JavaFX 示例库中选出一些示例,让您品味一下 JavaFX 技术的魅力。单击每个缩略图以运行示例应用程序并查看解释该应用程序构建过程的说明。

     简单视频播放器

    本示例使用 JavaFX Media Component 这一提供所有标准视频播放器的预制视频播放器控制您可能需要的内容。将视频合并到您的应用程序中很简单,只需创建本组件的一个实例,设置几个变量,并包括一个到视频资源的链接。

     三维显示机框

    本示例使用内置在 JavaFX 中的透视转换特性来轻松创建一个带有三维效果的照相簿。

     路径动画

    本示例向您展示如何使一个形状沿着任意矢量路径活动。其中有两个场景:跑道上跑动的轿车和在微波中荡漾的小船。您只需为可视资源创建一个动画节点并为该节点运动的轨迹创建一个路径。

     飞碟

    本示例向您展示如何创建一个从浏览器中逃脱,绕浏览器外飞几圈,然后在回到浏览器中着陆的飞碟。这种 Java SE 6 更新 10 中新的进程外 Java applet 插件使您能够制作在浏览器外运行的 applet。

    JavaFX 平台组件

    JavaFX 平台架构如下图所示。将鼠标移动到图中任意方框上查看说明。

    ApplicationsContentServicesApplication FrameworkDesktop ElementsMobile ElementsTV elementsCommon ElementsJavaFX RuntimeDesigner ToolsDeveloper Tools

     

     

    JavaFX 平台结合了一种易懂的声明性语言 JavaFX Script,开发工具集、图形、媒体和音频支持库,以及运行时环境。这一特性确保了 RIA 能够在具有不同外形规格和功能的设备间提供一个一致的界面外观。

    JavaFX 技术的组成

    使用 JavaFX 开始开发应用程序所需的功能将可用的下载有机地组织起来。图中显示了下载包内容,以下章节对各个下载包所包含的内容作了详细的介绍。

    展开全文
  • RCP(Rich Client Platform)客户端平台是基于Eclipse插件开发的一种应用。它是Eclipse 3.0版本后新增的一项功能。通过RCP可以快速构建应用程序,具有广阔的应用前景。选自《Eclipse SWT/JFace核心应用 》22.1 RCP...

    RCP(Rich Client Platform)富客户端平台是基于Eclipse插件开发的一种应用。它是Eclipse 3.0版本后新增的一项功能。通过RCP可以快速构建应用程序,具有广阔的应用前景。选自《Eclipse SWT/JFace核心应用

    22.1 RCP概述

    在Eclipse平台的发展过程中,倡导的是插件的思想。可以说,插件是Eclipse平台的核心内容,但所有的这些插件的运行都要依赖于Eclipse平台的存在。但当程序员开发桌面的应用时,往往想摆脱对Eclipse IDE的依赖,而是希望使用最小的运行环境来运行系统。所以在Eclipse 3.0以后的版本中逐步地将插件的运行从Eclipse的运行平台中剥离出来,从而形成了RCP。

    简单地说,RCP系统本质上是Eclipse的插件,但运行时却能够脱离Eclipse平台而独立运行。这就使得RCP的应用更加灵活和广泛。

    22.1.1 什么是RCP

    RCP本质上是Eclipse的插件,所以当开发RCP应用程序时,可以利用Eclipse平台UI外观和框架来快速地进行开发。例如创建一个菜单栏、工具栏,在RCP开发中很容易,只需要作一定的配置后,编写简单的代码就可以实现复杂的功能,这样就避免了许多重复性的工作。

    RCP的系统可以脱离Eclipse平台独立运行,这样大大减少了打包程序后文件的体积,使系统更加小巧和雅观。图22.1清晰地显示了RCP与Eclipse的关系。

    图22.1 RCP与Eclipse的关系图

    另外,最重要的是Eclipse是一个开源平台,所以采用RCP也可以极大地降低系统的成本,具有很高的商业价值。

    22.1.2 RCP应用的现状

    RCP在Java桌面应用有很广阔的前景,就目前来说,已经进行了广泛的应用。主要分两大阵营,开源的和商业的。

    1.开源的应用

       ● Azureus:http://azureus.sourceforge.net/,BitTorrent下载客户端软件,以支持40种语言,功能强大,已经被上百万的用户下载使用,并且获得了2006年Sourceforge.net的Best Overall Winner大奖。

       ● Bioclipse:http://www.bioclipse.net/index.php,生物信息学的一个绘图软件,可以绘制出DNA的3D图形,有兴趣的读者可以下载下来具体看一下。

       ● BrainBox:http://eclipsetrader.sourceforge.net/,基于RCP的股票交易软件,可以实时地查看股票信息和股票的历史走势图等。

       ● jCommander:http://jcommander.sourceforge.net/,基于选项卡界面效果的文件系统管理软件,可轻松地实现文件的管理。

       ● jFire:http://jfire.org/,基于J2EE的ERP软件,包括产品管理、客户管理、用户管理等模块,具有很灵活的自定义功能。另外,还使用了GEF和BIRT构建丰富的报表图形系统。还提供了扩展点,允许用户在此基础上进行开发。

       ● jLibrary:http://jlibrary.sourceforge.net/,开源的文档管理系统(DMS),可以将普通文件、视频文件和其他类型的文件进行分类,也可以进行查找和分类等。

       ● Zhongwen Development Tool(ZDT):http://zdt.sourceforge.net/,学习中文的一个软件,值得庆幸的是该软件是中国人开发的。如图22.2所示为该软件主界面的效果图。

    图22.2 ZDT软件的主界面

    2.商业的应用

       ● Actuate BIRT Report Designer:http://www.actuate.com/birt,BIRT是Eclipse的一个报表开发引擎的插件,该软件是BIRT报表的设计可视化客户端软件。使用该软件可轻松地创建所需的报表。

       ● Bay Breeze Software - SQL Edge:http://www.baybreezesoft.com/,提供了可视化的执行SQL语句的工作环境,能够显示环境数据库中表的关系图,也能够浏览表中的数据。

       ● BSI CRM on Eclipse:http://www.bsiag.com/joomla/index.php,CRM客户关系管理软件,包括联系人管理、任务管理、项目管理和市场管理等。

       ● IBM Workplace Client Technology:http://www-128.ibm.com/developerworks/ workplace/ products/clienttechnology/,IBM的客户管理软件。该软件的界面效果如图22.3所示。

    图22.3 商业的RCP应用

    %注意:读者若想了解更多的RCP应用案例,可以访问网站http://www.eclipse.org/ community/ rcp.php。

    从以上这些RCP的实现案例中可以看出,RCP的应用非常广阔,从系统的文件管理到J2EE的企业管理软件,从可视化的报表工具到3D绘图,都可以应用RCP。只要是开发桌面的应用就都可以采用RCP来进行开发。

    22.2 第一个RCP项目

    了解了RCP有这么丰富的应用后,读者一定想迫不及待地知道如何来开发RCP程序。那么本节将一步步地讲述如何来开发RCP程序。

    22.2.1 创建插件项目

    RCP的开发基于Eclipse插件的开发,所以创建RCP的项目也是从创建插件项目开始的。以下为创建一个RCP程序的步骤:

    (1)选择“文件”|“新建”|“项目”命令,在弹出的“新建项目”对话框中选择“插件项目”,单击“下一步”按钮,弹出如图22.4所示的对话框。

    (2)输入项目名称为MyRCP,其他设置如图22.4所示。然后单击“下一步”按钮,弹出如图22.5所示的输入插件项目详细信息的对话框。

    图22.4 “新建插件项目”对话框                   图22.5 输入插件信息

    (3)在该对话框中可以设置一些插件的信息,例如这里输入插件标识为“com. fengmanfei.myrcp”。为了保持唯一性,不与其他的插件混淆,一般使用网址加名称的形式。但要注意,一定要选中是否要创建富客户端应用程序选项。如果不选中,创建的只是普通的Eclipse插件项目,而不是RCP应用程序。按照如图22.5所示的设置完成后,单击“下一步”按钮,弹出如图22.6所示的对话框。

    (4)在该对话框中,提供了创建RCP程序的几个常用的模板,这里选择Hello RCP模板。这是最简单的RCP程序,只有一个主界面。然后单击“下一步”按钮,弹出如图22.7所示的对话框。

    (5)在该对话框中可以对RCP程序进行简单的配置,如窗口显示的标题等,这里使用向导默认的值。然后单击“完成”按钮,这样一个RCP的项目就新建完成了。

      

    图22.6 选择RCP程序的模板                 图22.7 设置初始化程序的配置

    22.2.2 运行RCP程序

    创建完RCP项目后的Eclipse平台会出现如图22.8所示的界面。

    图22.8 创建RCP项目后的界面

    在左侧的项目文件中,会看到自动生成了一些RCP所需要的一些文件,这些都是利用创建向导自动生成的,是RCP程序运行所必需的一些文件。右侧是该项目的描述信息。可以单击右侧的标签来查看设置具体的插件配置参数。22.2.3节将着重讲述这些参数和文件的意义。要运行RCP程序,有以下两种方法:

       ● 最简单的方法是在右侧“测试”信息框中,单击“启动Eclipse应用程序”链接来运行。如果想要以调试方式运行,则单击“以调试方式启动Eclipse应用程序”链接。

       ● 另外也可以用传统的方式运行RCP程序。在项目工程名称处右击,在弹出的快捷菜单中选择“运行方式”|“Eclipse应用程序”命令,也可以运行RCP程序。

    无论是哪种方式运行,使用以上方法创建的RCP程序运行后的界面效果如图22.9所示。

      

    图22.9 RCP程序运行后的效果图

    从图22.9中可以看出,使用向导创建的Hello RCP程序很简单,运行后只有一个主窗口界面,这就是一个最简单的RCP程序。然后开发RCP的工作就是如何在该基础上进行开发,按照需要来开发界面的效果。

    用个比喻来说,现在的这个RCP程序好比是一座空房子,里面什么都没有,接下来的开发的工作就是进行房子的装修,按照设计来添置不同的家具。

    22.2.3 插件的文件清单

    在进行插件开发之前,首先来看一下22.2.2节中利用向导建立的项目中各个文件所代表的意义。

    (1)看一下自动生成的各个文件,如图22.10所示。

    图22.10 项目的文件结构

    这些文件的具体说明如下:

       ● src文件夹下为运行插件时的一些类文件。

       ● MANIFEST.MF为插件清单文件,是插件与外界沟通的桥梁。

       ● build.properties文件为构建RCP程序时所导入的类库设置。

       ● plugin.xml是最重要的文件,该文件是插件的配置文件,集中管理插件内部的运行,在该文件中可以查找所有与该插件有关的信息。

    (2)看一下插件的配置信息。在如图22.11所示的选项卡中,可以单击切换不同的选项卡。

    图22.11 插件配置选项卡

    如图22.11所示的各选项卡所表示的意义如下:

       ● “概述”选项卡可以查看该插件项目所有定义配置信息。

       ● “依赖项”、“运行时”选项卡是设置MANIFEST.MF文件的,在这两个选项卡所做的修改将同步应用于MANIFEST.MF文件。在Eclipse之前的版本中,没有MANIFEST.MF文件时,则是在plugin.xml文件中配置的。

       ● “扩展”选项卡是插件开发最重要的内容,各个插件都是基于扩展点的。在该选项卡中可以设置插件所使用的扩展点,并且在该选项卡中所做的配置将同步改变pluglin.xml文件中的内容。

       ● “扩展点”选项卡用来设置该插件提供其他开发者的接口。如果想让其他开发人员对该插件进行开发,通常要提供这些开发人员一些接口,创建自定义的一些扩展点。

       ● “构建”选项卡可以可视化配置build.properties文件,“build.properties”选项卡可以查看该文件的源文件。

    22.2.4 MANIFEST.MF文件

    MANIFEST.MF文件是保存OSGi 的 Bundle文件。OSGi开放服务网关协议(Open Services Gateway Initiative)是一个框架规范。OSGi规范为网络服务定义了一个标准的、面向组件的计算环境,它最初的目的就是为各种嵌入式设备提供通用的软件运行平台,屏蔽设备操作系统与硬件区别的中间件平台。Eclipse OSGi 框架支持该规范。目前,OSGi 联盟发布的最新OSGi服务规范为4.0。

    通俗地讲,该文件也就是与其他平台的接口,通过该接口,外部平台可以使用该Eclipse的插件程序。如果读者有兴趣,可以访问http://www.osgi.org/,以了解更多该规范的信息。

    1.MANIFEST.MF文件清单

    下面具体来看一下MANIFEST.MF文件所配置的信息,如图22.12所示为MANIFEST. MF文件。

    图22.12 MANIFEST.MF文件

    其中,可以发现这些信息都是以key和value值来描述的。这些key值所表示的意义,可以参考Eclipse自带的参考帮助文档。以下是几个关键的key值所表示的意义。

       ● Bundle-Name:插件的名称。

       ● Bundle-SymbolicName:为插件的唯一标识。

       ● Bundle-Activator:为主程序启动的类的全名。

       ● Require-Bundle:系统编译和运行的依赖项,可以加入其他所必需的插件。

    2.添加依赖项

    在编译和运行程序时,可能需要使用其他插件类库,这时可以在“依赖项”选项卡中单击“添加”按钮,然后选择运行时所必需的插件或者是某一个插件的类包。如图22.13所示为导入了Ant构建包后的界面。

    图22.13 导入依赖项

    这样添加依赖项后,MANIFEST.MF文件会加入以下的代码:

    Require-Bundle: org.eclipse.ui,

    org.eclipse.core.runtime,

    org.eclipse.ant.core

    此时可以看到,刚才导入的org.eclipse.ant.core自动添加到了Require-Bundle的值中。另外需要注意的是,这些类包加载是按照顺序进行的,所以可以使用“向上”和“向下”按钮进行调整。当然,运行时加载的插件只要能满足系统运行即可,越少越好,因为太多了会影响插件运行的加载速度。

    22.2.5 build.properties文件

    build.properties是保存构建、打包和导出插件所需的所有信息的文件。如图22.14所示为配置构建文件的界面。在该界面上的设置将会保存到build.properties文件中。例如,此时该文件中的代码如下:

    source.. = src/

    output.. = bin/

    bin.includes = META-INF/,/

                   .,/

                   bin/

    jars.compile.order = .

    其中,source表示源文件的路径,output表示编译后的.class文件所在的路径,bin.includes表示打包后包中所包含的文件,jars.compile.order为编译的顺序。

    图22.14 构建界面

    22.2.6 plugin.xml文件

    plugin.xml文件是插件开发中最重要的文件,包含声明插件的扩展和扩展点配置。如 图22.15所示为该文件的源代码界面。

    下面仔细分析一下各个扩展点的意义。每个扩展点都是一个<extension>元素。下面以第一个扩展点为例,说明各属性的意义。

       ● id="application",表示该扩展点的标识。

       ● point="org.eclipse.core.runtime.applications",表示扩展点的类型。这里表示该扩展点是系统扩展点,例如另一个扩展点类型“org.eclipse.ui.perspectives”为透视图扩展点。

       ● <run>子项中定义了系统启动的class类,为com.fengmanfei.myrcp.Application,可以在源文件下找到这个.java源文件。

    图22.15 plugin.xml文件

    对于不同的扩展点有不同的配置元素,读者可以参考Eclipse的帮助文档。另外,读者无须手动输入这些配置文件,使用Eclipse自带的创建扩展点向导就可以轻松地完成创建扩展点的工作。

    22.3 RCP运行的基本原理

    了解了这些配置文件后,下面仔细讲解一下整个RCP运行的过程。在22.2节创建的项目中,已经自动生成了MyRCPPlugin、Application、ApplicationActionBarAdvisor、Application WorkbenchAdvisor和Perspective类。这些类是怎样联系起来的呢?就是以下所要学习的内容。

    22.3.1 插件类MyRCPPlugin

    系统运行后首先在MANIFEST.MF文件中找到Bundle-Activator所对应的插件类,本项目中是myRCP.MyRCPPlugin类,表示是在myRCP包下的MyRCPPlugin类和该类的具体代码如下:

    MyRCPPlugin.java

    package myRCP;

    import org.eclipse.ui.plugin.*;

    import org.eclipse.jface.resource.ImageDescriptor;

    import org.osgi.framework.BundleContext;

    /**

    * 该插件类继承自AbstractUIPlugin类

    */

    public class MyRCPPlugin extends AbstractUIPlugin {

        //插件类的对象,为静态对象

        private static MyRCPPlugin plugin;

        /**

        * 构造方法

        */

        public MyRCPPlugin() {

            plugin = this;

        }

        /**

        * 装载Bundle文件并启动插件

        */

        public void start(BundleContext context) throws Exception {

            super.start(context);

        }

        /**

        * 插件运行结束后执行该方法

        */

        public void stop(BundleContext context) throws Exception {

            super.stop(context);

            plugin = null;

        }

        /**

        * 返回该插件的对象

        */

        public static MyRCPPlugin getDefault() {

            return plugin;

        }

        /**

        * 返回相对于插件包文件下的相对路径的图片文件

        *

        * @param path the path

        * @return the image descriptor

        */

        public static ImageDescriptor getImageDescriptor(String path) {

            return AbstractUIPlugin.imageDescriptorFromPlugin("com.fengmanfei.myrcp", path);

        }

    }

    该类主要创建整个插件的对象,是插件的全局对象。可以通过该类的静态方法获得插件对象的引用,然后获得插件的各种信息,包括插件所对应的Bundle文件信息、log日志对象和工作台对象等。例如,以下代码可以获得该插件在MANIFEST.MF定义的标识符。

    MyRCPPlugin.getDefault().getBundle().getSymbolicName();

    通过MyRCPPlugin.getDefault()还能获得插件的其他对象。各种方法请读者参阅Eclipse API 帮助文档。

    展开全文
  • 摘要:Mugeda提供基于云的平台,供开发人员和设计人员快速的开发、发布和统计基于HTML5的,包含丰富动画和交互的移动媒体内容。 在上一篇教程中,我们大致分析了HTML5的现状以及今后的发展趋势。在移动浏览器...
     
    

    [Mugeda HTML5技术教程之2] Mugeda HTML5动画平台简介


    摘要:Mugeda提供基于云的平台,供开发人员和设计人员快速的开发、发布和统计基于HTML5的,包含丰富动画和交互的移动富媒体内容。


    在上一篇教程中,我们大致分析了HTML5的现状以及今后的发展趋势。在移动浏览器(含浏览器控件)中渲染的HTML5应用,将会和移动原生应用相辅相成,共同发展,在移动互联网大潮中扮ch来越重要的角色。另一方面,开发HTML5应用目前仍然存在成本高、效率低的诸多问题,这也在一定程度上阻碍了HTML5的发展。现实中,很多企业和开发人员已经意识到并认同了HTML5能为他们带来的价值,但是开发人员储备不足、开发周期长、设备兼容性差等问题,却让他们望而却步。为了更好的支持HTML5的发展,需要相应的开发工具来支持,而这一块尚处在行业发展的初期,市场上有若干相应的软件与服务试图从各个角度来解决这些问题。Mugeda是其中专注于解决富媒体内容的一款产品。所谓富媒体内容,是区别于诸如文字、图片等传统的静态内容,具有丰富的多媒体特性的内容,例如:动画、视频、声音、交互、手机功能(例如打电话)等。这些富媒体内容,可以极大的提升应用的用户体验,增加用户参与度,是制作HTML5应用必不可少的元素。


    简单来说,Mugeda提供一个基于云的平台,供开发人员和设计人员在云端快速的开发、发布和统计基于HTML5的移动富媒体内容。采用Mugeda开发HTML5富媒体内容及应用,可以显著的提高设计和开发的效率。所产生的内容,具有广泛的设备兼容性,可以在诸如PC、智能手机、平板电脑、 智能电视等HTML5设备中使用。


    Mugeda云平台中的核心产品,是Mugeda Studio,一个在线集成开发环境(IDE), 他封装了很多HTML5的实现细节,设计人员和开发人员无需了解HTML5的技术细节就可以直接使用,快速高效的生成HTML5富媒体内容,无需编码就可以实现丰富的动画和交互特性。这样,一个设计人员就可以以更短的周期完成之前好几个HTML5开发人员才能完成的任务。市场上广大的Flash设计师,可以非常方便的转移到Mugeda平台上并快速掌握。


    同时,对于带有编码需求的富媒体内容(例如小游戏),Mugeda提供一整套JavaScript API供开发人员使用,用于制作高级的动画和交互特性。Mugeda API可以细化到对每一个动画对象和每一个DOM元素的精确控制。这种设计+开发的集成开发模式,可以充分发挥可视化动画编辑和脚本编码各自的优势,从而能够极大的提升开发效率,节省大量的编码量。为了更好的理解这一点,大家可以参考下面这个采用Mugeda Studio实现的投篮游戏截图。这个游戏是当年谷歌在2012年奥运会期间制作的一个Google Doodle,其代码量为压缩后43K左右,而采用Mugeda Studio制作同样的动画,代码量为压缩后6K,少了一个量级。这充分说明了这种可视化动画设计加API编写代码结合的强大之处。


    预览地址:

    http://t.cn/8F7B3HX 



    Mgeda Studio的界面截图如下图所示。这是一个兼顾专业性和易用性的开发环境,具备时间线、图层、元件、脚本等高级动画编辑工具,同时充分考虑了设计和开发流程的无缝集成。我们将在后续的教程中,对其中的功能逐一进行介绍。同时,Mugeda 还提供了方便的方式对开发的内容进行共享、预览、发布,快速的推送到移动用户。我们也会陆续介绍相关的功能。


    Mugeda平台支持的富媒体特性可以参考下面表格的总结:



    类型

    说明

    适合应用

    动画

    除了支持基本的位置、旋转、透明度、缩放的动画,还支持分层、时间线、路径、洋葱皮、遮罩、过程等高级动画特性。

    设计人员在没有开发人员介入的情况下制作专业HTML5动画

    多媒体

    文字、图片、贝塞尔曲线、视频、音频、图片走廊、360°视图

    快速实现预置的富媒体效果

    行为

    表单、链接、动画播放控制、扩展显示、回调函数、拨打电话、发送短信、显示地图、保存图片、保存日程、相应传感器事件

    调用移动设备的原生功能实现丰富的交互特性

    脚本

    JavaScript脚本用于动态生成动画、控制动画元素行为、访问DOM元素等复杂的交互

    制作高级交互应用,例如游戏

    导入

    支持导入分层ai文件,支持导入视频转换为动态gif或者css动画,支持导入外部脚本

    采用外部媒体扩展Mugeda应用

    富媒体广告

    符合MRAID 2.0规范的移动富媒体广告

    制作移动富媒体广告


    Mugeda还提供一整套对富媒体内容的在线管理操作。下面的表格进行了一个简要的说明。


    类型

    说明

    素材管理

    Mugeda支持图片上传,或者是通过URL获取图片。这些图片会存储在用户的在线素材库中,可以按照目录进行整理,并在后续制作中重复使用而不用再次上传。

    共享

    Mugeda提供方便的方式,通过二维码、共享地址等方式,快速的共享产生的内容

    发布

    用户可以选择直接将内容发布到Mugeda的内容分发网络(CDN),也可以选择将制作的内容导出成内容然后自行部署。

    统计

    所有Mugeda制作的内容,均内置完整的统计功能,不但可以统计常用的访问次数和点击次数,还可以统计高级的交互特性,了解用户的停留时间、交互操作等。

    脚本

    JavaScript脚本用于动态生成动画、控制动画元素行为、访问DOM元素等复杂的交互

    导入

    支持导入分层ai文件,支持导入视频转换为动态gif或者css动画,支持导入外部脚本


    下面我们通过一些实例,来介绍一下Mugeda制作的HTML5内容,以及典型的应用场景。注意下面提到的在Mugeda中查看源代码的地址,需要先登录自己的账号才能查看。


    1. 网页动画


    这是一个典型的在网页中经常采用的片头动画。采用动画的形式,可以更加生动的表现所要传达的信息,可以给用户留下更加深刻的印象。


    效果预览地址:

    http://t.cn/8F7X3VW


    在Mugeda Studio中查看源代码的地址:


    https://www.mugeda.com/animation/edit/7bf12cad


    2. 移动广告


    这是红牛制作的一款促销广告,采用Mugeda制作的飞溅水花的动画效果,生动的表现了红牛功能运动饮料的



    预览地址(由于内容版权,恕不提供编辑地址):

    http://t.cn/8F7apj4


    3. 移动贺卡


    这是一个可定制移动贺卡的例子。用户在观看贺卡后,可以直接在贺卡中对贺卡进行定制并转发。


    预览地址:


    http://t.cn/8F7S2ZN



    在Mugeda Studio中查看源代码的地址:


    https://cn.mugeda.com/animation/edit/104cdc1f


    4. 移动小游戏


    这是一个白象促销脆小子食品制作的一个HTML5小游戏。用脆小子形象作为角色,进行一个经典的卷轴游戏。


    预览地址(由于内容版权,恕不提供编辑地址):


    http://t.cn/zRG6o9W



    5. 移动课件


    这是一个可以在移动设备上使用的课件,描述了物理上的胡克定律的原理。这种带交互的动画,可以更加准确清晰的传达信息。


    预览地址:

    http://t.cn/8F7lJjR



    在Mugeda Studio中查看源代码的地址:


    https://cn.mugeda.com/animation/edit/104cdc1f


    另外,Mugeda API还可以制作跨屏互动的HTML5应用。移动设备无需安装任何应用,就可以和PC等大屏幕进行交互,实现十分生动的跨屏互动应用。我们会在后续专门介绍相关的技术实现。


    总的来说,Mugeda专注于为制作HTML5富媒体内容提供专业级别的平台支持。设计人员和开发人员都可以在Mugeda平台上极大的提高自己的开发效率。从下一讲开始,我们将从各个方面全面的介绍如何采用Mugeda制作移动富媒体内容。敬请关注。


    展开全文
  • Portabletext:Portable Text是用于现代内容编辑平台的基于JSON的文本规范
  • 量级 web 文本编辑器,配置方便,使用简单。支持 IE10+ 浏览器。
  • Android平台下的文本解析器 流式操作 低侵入性 依赖少,只依赖了disklrucache和support v4 支持Html和Markdown格式文本 支持图片点击和长按事件 链接点击事件和长按事件 支持设置加载中和加载错误时的图片 支持...
  • 20210808-华泰证券-途控股-FUTU.US-财富大时代,平台弄潮儿.rar
  • 20210808-华泰证券-途控股-FUTU.US-财富大时代,平台弄潮儿.pdf
  • ​futu-api开源项目可以满足使用途Open API软件进行量化投资的需求, 提供包括Python接口、Json和Protobuf接口的行情及交易的API。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 44,086
精华内容 17,634
关键字:

富其平台