EGL语言从入门到精通

EGL语言从入门到精通



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

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

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


一、EDT开发环境配置


        EDT 0.8.0 版本已经 发布。用户如今能够在 http://www.eclipse.org/edt/#download  中下载All-in-one版本,或者直接在Eclipse环境中添加安装连接进行安装。详细安装配置方法请参照以下文章。

二、EGL程序初体验

相信Eclipse下熟悉的开发环境会让您的EGL学习变得驾轻就熟。那么首先咱们来说解一下EGL语言的工做原理以及EDT开发环境如何使用。程序员


2.一、EGL Development Tools概览

这篇文章大概介绍了EGL基本工做原理和由EDT提供的集成开发环境,让读者理解为何EGL不同凡响。文章的后面部分简单介绍了EGL提供的扩展功能,使读者对EGL的扩展性有大体的了解。
数据库

文章连接:http://www.ibm.com//developerworks/cn/opensource/os-cn-edt1/编程


2.二、EDT使用入门

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

文章连接:http://blog.csdn.net/rationalgroup/article/details/7347674app


2.三、使用EGL Rich UI访问数据库

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

文章连接:http://blog.csdn.net/rationalgroup/article/details/7349592eclipse


2.四、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.org/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.net/detail/rationalgroup/4311414

抵押计算示例项目


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

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

三、EGL系列教程

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


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

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

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

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

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

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

3.三、EGL高级话题:扩展EGL

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

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



四、EDT/EGL详解

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

第一部分:EGL语言基础

第二部分:Web服务开发

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

第四部分:Web 2.0开发

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

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

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

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

  • Widget扩展&第三方Widget调用:您能够经过对现有Widget控件进行扩展来完成定制化的需求,同事还能够包装其余第三方Widget控件来丰富EGL前端开发。
    文章连接:http://blog.csdn.net/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.net/rationalgroup/article/details/7598416

     第六部分:EGL测试框架

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