作为一个编程初学者,你是否为前端到后端众多的编程语言学习而烦恼?作为一个编程老鸟,你是否还在为不能全力专注于业务逻辑而忧愁?作为一个追赶潮流的编程发烧友,你是否还在为众多手机平台开发环境的差异而头疼?EGL语言正是为了解决这些跨语言领域的问题应运而生的业务开发语言。
EGL(EnterpriseGenerationLanguage)是IBM致力推广的业务编程语言。它能让程序员更加关注业务逻辑,而不必过多关注具体的技术细节。EGL在Eclipse社区推出了开源EGL语言开发工具(EGLDevelopment Tools),简称EDT。EDT提供了程序员高效地开发Web2.0和基于移动平台(Android,iOS等)的应用所需要的核心语言支持(SDK)和集成开发环境(IDE),同时它还提供了高度的可扩展性。通过对LanguageModule、CodeGenerator以及IDE UI的扩展性,EDT能够接纳新的语言以及开发技术,从而实现多语言多平台的整合。
EDT作为EGL语言在Eclipse开源社区中的项目,拥有众多的活跃参与者在开源社区进行开发与测试。您可以通过EDT主页http://www.eclipse.org/edt/来关注EDT最新动态,并可以从中获取大量英文原版资料,帮助您对EDT/EGL有一个基本的了解。而本文则会从一个EGL语言新人的角度,由浅入深地提供一系列学习资料来介绍包括EGL语言编程基础,EDT开发环境,以及大量Web 2.0/移动平台开发、EDT扩展等EGL进阶资料。说了这么多,相信你已经跃跃欲试。那么我们就从EDT开发环境配置开始吧~~
相信Eclipse下熟悉的开发环境会让您的EGL学习变得得心应手。那么首先我们来讲解一下EGL语言的工作原理以及EDT开发环境如何使用。
这篇文章大概介绍了EGL基本工作原理和由EDT提供的集成开发环境,让读者理解为什么EGL与众不同。文章的后面部分简单介绍了EGL提供的扩展功能,使读者对EGL的扩展性有大致的了解。
文章链接:http://www.ibm.com//developerworks/cn/opensource/os-cn-edt1/
文章从初学者角度讲解了EGL自带HelloWorld项目,以及用EDT开发EGL语言项目过程中遇到的Debug、部署等简单操作。相信完成了这个项目的学习之后,你会对如何用EDT来编写EGL程序有一个基本了解。其中涵盖了EGL项目创建、CompilerSetting、RUIHandler编写、DedicatedService编写、调试EGL程序以及部署EGL程序等基础环节。
文章链接:http://blog.csdn.net/rationalgroup/article/details/7347674
这是一个相比HelloWorld更为复杂的教程。其中涵盖了绝大部分EDT现有功能,包括详细的RichUI Handler前段开发,EGL支持的REST Service编写,以及数据库相关操作。相信通过学习这个详细的教程,你已经可以开始自己动手编写EGL程序了。
文章链接:http://blog.csdn.net/rationalgroup/article/details/7349592
本节中您将可以参考EGL示例项目来进一步学习EGL代码的编写方法。您可以通过点击File> Import > Existing Project into Workspace 来将样例项目导入到工作空间中。
注意:如果你的工作空间中还没有Rich UI控件项目(org.eclipse.edt.rui.dojo_0.8.0和org.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、使用InfoBus、MVC以及其他高级控件。同时展示了Google Map控件的使用并调用了Yahoo的第三方Service
下载地址:http://download.csdn.net/detail/rationalgroup/4311418
通过学习上一章关于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.com/developerworks/cn/opensource/os-cn-edt2/index.html
3.2、EGL开发移动平台应用–使用EGL Mobile开发淘宝移动客户端应用
EGL支持两种移动平台应用开发模式,第一种是基于Web的应用,第二种是基于第三方框架的部署在手机上的混合方式应用。这篇文章以使用EGL调用淘宝公共应用程序接口来开发基于手机平台的客户端为例,展示了如何使用EGL快速开发跨手机平台的应用。
文章链接:http://www.ibm.com/developerworks/cn/opensource/os-cn-edt3/index.html
3.3、EGL高级话题:扩展EGL
EGL与别的语言相比,最大的特点就是其具有的高度可扩展性。这篇文章将从语言模型,代码生成器和集成开发环境等三个方面来介绍EGL提供的可扩展性。读者通过这篇文章可以了解如何利用EGL的可扩展性来实现对业务的抽象,将抽象的语言模型生成到目标代码,以及扩展EDT的集成开发环境等。
文章链接:http://www.ibm.com/developerworks/cn/opensource/os-cn-edt4/
通过之前的章节,您已经按照教程学习了EGL开发过程。虽然已经能将程序调通,但是对于EGL语言细节以及EDT开发环境功能细节可能还是不甚了解。那么本章将提供一系列详细的语言/功能介绍文章。您可以快速浏览或者在程序开发过程中作为手册来查询相关细节。
第一部分:EGL语言基础
第二部分:Web服务开发
第三部分:数据库程序开发
第四部分:Web 2.0开发
第五部分:EGL功能扩展