EGL语言从入门到精通



作为一个编程初学者,你是否为前端到后端众多的编程语言学习而烦恼?作为一个编程老鸟,你是否还在为不能全力专注于业务逻辑而忧愁?作为一个追赶潮流的编程发烧友,你是否还在为众多手机平台开发环境的差异而头疼?EGL语言正是为了解决这些跨语言领域的问题应运而生的业务开发语言。

EGLEnterpriseGenerationLanguage)是IBM致力推广的业务编程语言。它能让程序员更加关注业务逻辑,而不必过多关注具体的技术细节。EGLEclipse社区推出了开源EGL语言开发工具(EGLDevelopment Tools),简称EDTEDT提供了程序员高效地开发Web2.0和基于移动平台(Android,iOS)的应用所需要的核心语言支持(SDK)和集成开发环境(IDE),同时它还提供了高度的可扩展性。通过对LanguageModuleCodeGenerator以及IDE UI的扩展性,EDT能够接纳新的语言以及开发技术,从而实现多语言多平台的整合。

EDT作为EGL语言在Eclipse开源社区中的项目,拥有众多的活跃参与者在开源社区进行开发与测试。您可以通过EDT主页http://www.eclipse/edt/来关注EDT最新动态,并可以从中获取大量英文原版资料,帮助您对EDT/EGL有一个基本的了解。而本文则会从一个EGL语言新人的角度,由浅入深地提供一系列学习资料来介绍包括EGL语言编程基础,EDT开发环境,以及大量Web 2.0/移动平台开发、EDT扩展等EGL进阶资料。说了这么多,相信你已经跃跃欲试。那么我们就从EDT开发环境配置开始吧~~


1、EDT开发环境配置


        EDT 0.8.0 版本已经 发布。用户现在可以在 http://www.eclipse/edt/#download  中下载All-in-one版本,或者直接在Eclipse环境中添加安装链接进行安装。详细安装配置方法请参照如下文章。         文章链接: http://blog.csdn/rationalgroup/article/details/7518909

2、EGL程序初体验

相信Eclipse下熟悉的开发环境会让您的EGL学习变得得心应手。那么首先我们来讲解一下EGL语言的工作原理以及EDT开发环境如何使用。


2.1、EGL Development Tools概览

这篇文章大概介绍了EGL基本工作原理和由EDT提供的集成开发环境,让读者理解为什么EGL与众不同。文章的后面部分简单介绍了EGL提供的扩展功能,使读者对EGL的扩展性有大致的了解。

文章链接:http://www.ibm//developerworks/cn/opensource/os-cn-edt1/


2.2、EDT使用入门

文章从初学者角度讲解了EGL自带HelloWorld项目,以及用EDT开发EGL语言项目过程中遇到的Debug、部署等简单操作。相信完成了这个项目的学习之后,你会对如何用EDT来编写EGL程序有一个基本了解。其中涵盖了EGL项目创建、CompilerSettingRUIHandler编写、DedicatedService编写、调试EGL程序以及部署EGL程序等基础环节。

文章链接:http://blog.csdn/rationalgroup/article/details/7347674


2.3、使用EGL Rich UI访问数据库

这是一个相比HelloWorld更为复杂的教程。其中涵盖了绝大部分EDT现有功能,包括详细的RichUI Handler前段开发,EGL支持的REST Service编写,以及数据库相关操作。相信通过学习这个详细的教程,你已经可以开始自己动手编写EGL程序了。

文章链接:http://blog.csdn/rationalgroup/article/details/7349592


2.4、EGL示例项目

        本节中您将可以参考EGL示例项目来进一步学习EGL代码的编写方法。您可以通过点击File> Import > Existing Project into Workspace 来将样例项目导入到工作空间中。

注意:如果你的工作空间中还没有Rich UI控件项目(org.eclipse.edt.rui.dojo_0.8.0org.eclipse.edt.rui.widgets_0.8.0),可以通过创建新的EGL Web2.0项目来导入相应的依赖项目(File >New > EGL > EGL Project

EGL RUI技术示例


此示例程序展示了如何用EGL Rich UI基本功能,包括service调用、应用控件、InfoBus以及History等功能。

下载地址:http://eclipse/downloads/download.php?file=/edt/samples/0.8.0/org.eclipse.edt.rui.samples_0.8.0.zip(由于上传问题,随后会更新至CSDN下载链接)

EGL Dojo示例项目


此示例程序展示了如何使用各种Dojo控件。

下载地址:http://download.csdn/detail/rationalgroup/4311414

抵押计算示例项目


此示例应用展示了如何调用EGL service、使用InfoBusMVC以及其他高级控件。同时展示了Google Map控件的使用并调用了Yahoo的第三方Service

下载地址:http://download.csdn/detail/rationalgroup/4311418

3、EGL系列教程

通过学习上一章关于EGL/EDT的介绍文章以及相应的教程以后,相信对EGL感兴趣的您已经迈过了EGL初学者的门槛,对于简单的业务逻辑处理程序编写已经不在话下。那么本章中的系列文章将会是您感兴趣的领域。他们分别介绍了较为复杂的编程场景,EGL开发Web2.0应用、EGL开发移动平台应用以及扩展EGL。


3.1、EGL开发Web 2.0应用使用EGL开发新浪微博客户端应用

针对Web 2.0应用开发,EGL提供了从前端到后端统一的开发语言,大大提高了开发效率。这篇文章以开发新浪微博Web 2.0客户端为例,描述了如何使用EGL来方便地调用第三方应用程序提供商提供的Web服务接口,并迅速地开发出Web 2.0应用。

文章链接:http://www.ibm/developerworks/cn/opensource/os-cn-edt2/index.html

3.2、EGL开发移动平台应用使用EGL Mobile开发淘宝移动客户端应用

        EGL支持两种移动平台应用开发模式,第一种是基于Web的应用,第二种是基于第三方框架的部署在手机上的混合方式应用。这篇文章以使用EGL调用淘宝公共应用程序接口来开发基于手机平台的客户端为例,展示了如何使用EGL快速开发跨手机平台的应用。

文章链接:http://www.ibm/developerworks/cn/opensource/os-cn-edt3/index.html

3.3、EGL高级话题:扩展EGL

        EGL与别的语言相比,最大的特点就是其具有的高度可扩展性。这篇文章将从语言模型,代码生成器和集成开发环境等三个方面来介绍EGL提供的可扩展性。读者通过这篇文章可以了解如何利用EGL的可扩展性来实现对业务的抽象,将抽象的语言模型生成到目标代码,以及扩展EDT的集成开发环境等。  

文章链接:http://www.ibm/developerworks/cn/opensource/os-cn-edt4/



4、EDT/EGL详解

        通过之前的章节,您已经按照教程学习了EGL开发过程。虽然已经能将程序调通,但是对于EGL语言细节以及EDT开发环境功能细节可能还是不甚了解。那么本章将提供一系列详细的语言/功能介绍文章。您可以快速浏览或者在程序开发过程中作为手册来查询相关细节。

第一部分:EGL语言基础

  • 变量与数据类型:介绍了EGL语言变量类型、数据类型、属性以及Stereotype
    文章链接:
     
    http://blog.csdn/rationalgroup/article/details/7401121

  • 表达式与操作符:介绍了EGL语言关键字、操作符、流程控制语句等部分。
    文章链接: http://blog.csdn/rationalgroup/article/details/7401724

第二部分:Web服务开发

  • 项目创建向导:文章介绍了创建EGL项目向导中的各种设置细节。
    文章链接:  
    http://blog.csdn/rationalgroup/article/details/7375750

  • Service/Library/Record创建向导:文章介绍了EGL中不同程序类型的创建向导设置细节。包括ServiceLibraryRecord等。并从数据库中获取表结构与相应的数据库访问代码。
    文章链接:  http://blog.csdn/rationalgroup/article/details/7375682

  • ExternalType创建向导:EGL支持目标语言代码的封装,为其创建EGLWrapper。目前,EDT原生支持Java类的EGL语言扩展,称作JavaExternal Type。文章介绍了如何用EDT向导来自动生成JavaExternal Type
    文章链接: http://blog.csdn/rationalgroup/article/details/7375897

  • 第三方REST服务开发:EGL中的REST服务格式为通用的REST格式,可以调用第三方发布的REST服务。文章详细的介绍了通过EGL开发第三方服务调用程序的过程以及注意事项。
    文章链接:http://blog.csdn/rationalgroup/article/details/7375598

  • 资源绑定介绍:EGL程序开发过程中,可能会调用REST服务以及数据库连接。这些配置信息是在EGL部署描述文件(.egldd)中进行定义的。同时在程序中需要与这些配置信息进行绑定。
    文章链接:
    http://blog.csdn/rationalgroup/article/details/7361415

第三部分:数据库程序开发

  • 项目创建向导:文章介绍了创建EGL项目向导中的各种设置细节。
    文章链接:  
    http://blog.csdn/rationalgroup/article/details/7375750

  • SQL语法介绍:EGL中数据库连接以及增删改查代码,文章介绍了EGL中数据库相关代码的写法。
    文章链接:http://blog.csdn/rationalgroup/article/details/7376734

  • 资源绑定介绍:EGL程序开发过程中,可能会调用REST服务以及数据库连接。这些配置信息是在EGL部署描述文件(.egldd)中进行定义的。同时在程序中需要与这些配置信息进行绑定。
    文章链接:
    http://blog.csdn/rationalgroup/article/details/7361415

第四部分:Web 2.0开发

  • 项目创建向导:文章介绍了创建EGL项目向导中的各种设置细节。
    文章链接:  
    http://blog.csdn/rationalgroup/article/details/7375750

  • VisualEditor介绍:主要介绍开发Web2.0过程中,前端程序开发界面。如果快速通过拖拽以及可视化编程来完成RichUI Handler程序开发。
    文章链接:http://blog.csdn/rationalgroup/article/details/7349018

  • DataGrid介绍:作为Web2.0程序中最为重要的控件之一,DataGrid提供了强大的数据展示功能。可以任意制定表结构,进行单元格内容控件定制,用户操作响应,分页以及页面排序等强大功能。文章详细介绍了DataGrid的所有属性,方法以及扩展功能。并附有多种示例代码。
    文章链接:http://blog.csdn/rationalgroup/article/details/7403318

  • EGL程序部署:开发Web2.0程序结束后,需要对EGL程序进行部署操作。从而将EGL项目所生成的Java/JavaScript等相关资源拷贝到目标Web项目中。文章介绍了部署描述文件(.egldd)的详细配置。
    文章链接:http://blog.csdn/rationalgroup/article/details/7375651

  • Widget扩展&第三方Widget调用:您可以通过对现有Widget控件进行扩展来完成定制化的需求,同事还可以包装其他第三方Widget控件来丰富EGL前端开发。
    文章链接:http://blog.csdn/rationalgroup/article/details/7382229

    第五部分:EGL功能扩展

  • 扩展EGL支持GAE: 本文的目标是扩展EGL,用于实现和Google App Engine数据存储的集成。我们展示了如何用EGL语言来实现向GoogleApp Engine数据存储中插入实体数据的过程,并给出一个包括EGL Rich UI和EGL REST Service的样例,最终将该样例部署到Google App Engine上。 文章链接:     http://blog.csdn/rationalgroup/article/details/7598416

     第六部分:EGL测试框架
  • EGL单元测试框架:EUnit的全称是EGL单元测试框架(EGLUnit Testing Framework)。它是一个简单的开源测试框架,用于编写和运行可重复的EGL测试用例。
    文章链接:  http://blog.csdn/rationalgroup/article/details/7368024




更多推荐

EGL语言从入门到精通