TypeScript是微软公司推出的开源的类型化脚本语言,目的是用于为弱类型的javaScript提供强类型的识别和感知功能,同时它提供了类、接口、继承等相关在javaScript中不容易实现的功能,语法类似C#,简洁易懂,是构建大中型Web应用的一门非常理想的语言。

ü 通过这篇文章,你可以学到:

认识WisOne IDE

在WisOne IDE中编写TypeScript代码

在属性面板更改控件的属性

在WisOne IDE中运行TypeScript代码

本文源代码链接:http://www.wisone.com/app/sample/helloworld.frm

尽管微软在Visual Studio 2012中通过插件包的方式可以使用TypeScript的智能提示和编译功能,但是对于很多开源世界而来的开发人员来说,装个数G的Visual Studio来开发TypeScript有些大材小用,还好现在互联网上有一些专门用于辅助TypeScript开发的平台,WisOne智云平台就是其中具有代表性的一个Web平台。

通过如下的网址进入智云平台:

http://www.wisone.com/ide

WisOne IDE网页呈现了一个基于Web的IDE集成化开发环境,它使用TypeScript作为开发语言,并提供了可视化的开发与设计工具,如图1.1所示。

WisOne目前还只是预览阶段,但是随着WisOne团队的不断升级和完善,相信不久的将来,我们就可以在WisOne上使用TypeScript来开发专业性的Web应用了。

Example 1:Hello Word!

接下来让我们来了解一下如何在WisOne平台上学习TypeScript,就从经典的Hello Word开始,步骤如下所示:

(1)从工具栏上拖一个按钮,如图1.2所示。

(2)选中按钮,可以在属性面板中设置按钮的属性信息,是不是很像Visual Studio或者是Delphi等集成化开发环境。在属性面板中,设置Caption属性为“Hello World”,以更改按钮的显示文字。

(3)双击按钮,将进入到WisOne的代码编辑环境,可以看到WisOne自动产生了单击事件代码存根,在空白处输入代码即可,如图1.3所示。

由图中可以发现,WisOne的代码编辑器有智能提示功能,这对于初学TypeScript的人来说,实在太妙了,不用安装庞大的Visual Studio,也可以直接玩转TypeScript的语法提示。

(4)在代码存根位置输入如下的代码:

button1Click(sender: Core.Classes.TComponent){
//我的第一行TypeScript代码
this.button1.caption="你好,世界";
}

这行代码用于更改按钮的标题,可以看到,WisOne的IDE对TypeScript进行了很好的整合,这让整个Web IDE特别的具有Windows版开发工具的味道。

好了,已经迫不急待的要运行代码了,单击WisOne IDE左上角的“运行”按钮,如图1.4所示。

可以看到WisOne在一个新的页面上开启了我们的窗口,单击按钮,是不是发现按钮的标题已经发生了改变,如图1.5所示。

Example 2:使用TypeScript类型

接下来看一下TypeScript中如何使用类型,javaScript是不需要显示定义类型的,为变量的赋值决定了其类型,这种弱类型的语法极不利于大型可扩展的应用开发,而TypeScript提出了类型的概念,在定义变量时可以指定其类型,这个示例中向窗口中再次添加一个按钮,然后编写如下的示例代码:

module Unit1{

//定义一个函数,可以看到TypeScript的强类型代码

function Greeter(greeting: string) {

this.greeting = greeting;

}

export class TForm1 extends Core.Forms.TForm{

btnType: Core.StdCtrls.TButton;

btnTypeClick(sender: Core.Classes.TComponent){

//构造一个Greeter类的实例

var greeter = new Greeter("Hello world");

//访问Greeter类的属性

this.btnType.caption=greeter.greeting;

}

}

}

在Unit1单元名称下面,定义了一个函数Greeter,可以看到这个函数的形式参数是string类型的值,在函数体内定义了一个属性。

在按钮的单击事件处理代码中,首先实例化了Greeter类的实例,然后调用其属性,如果为Greeter的构造函数传递一个非字符串类型的值,WisOne将会抛出错误提示,如图1.6所示:

可以看到,WisOne在编译TypeScript时,将错误提示显示在调试面板中,非常便于我们了解其中的语法错误,TypeScript提供了类型功能,这对于开发大型可扩展的应用来说,确实是一个必要的功能。

将123456删除,替换为一个字符串,然后运行程序,这次成功运行通过,单击按钮将显示Greeter中的属性值,如图1.7所示。

小结

本文介绍了在WisOne平台上开发TypeScript的基础知识,讨论了WisOne IDE的组成,以及如何使用WisOne编写TypeScript代码,通过一个经典的“Hello World”来演示如何在WisOne平台上编写TypeScript代码。最后通过一个类型化的TypeScript示例,介绍了WisOne平台的调试功能。

关于WisOne平台的更多信息,可以通过如下的网址获取:

http://www.wisone.com/

在WisOne平台上学习TypeScript的更多相关文章

  1. Apache Pulsar 在腾讯 Angel PowerFL 联邦学习平台上的实践

    腾讯 Angel PowerFL 联邦学习平台 联邦学习作为新一代人工智能基础技术,通过解决数据隐私与数据孤岛问题,重塑金融.医疗.城市安防等领域. 腾讯 Angel PowerFL 联邦学习平台构建 ...

  2. 关于如何在Android、Java等非微软平台上建立高信任的SharePoint应用程序

    关于如何在非微软平台上建立高信任的SharePoint应用程序 原文 :http://blogs.msdn.com/b/kaevans/archive/2014/07/14/high-trust-sh ...

  3. JVM 平台上的各种语言的开发指南

    JVM 平台上的各种语言的开发指南 为什么我们需要如此多的JVM语言? 在2013年你可以有50中JVM语言的选择来用于你的下一个项目.尽管你可以说出一大打的名字,你会准备为你的下一个项目选择一种新的 ...

  4. 在微软平台上运行 SAP 应用程序

     本博客介绍了在微软平台上运行 SAP 应用程序的相关信息,作者在基于微软平台使用 SAP 方面有着数十年经验. 发布关于 Azure 的 SAP 说明 几个月前,SAP 针对适用于 SAP 软件 ...

  5. [原]详解如何将cocos2dx项目编译到Android平台上的(方式一:Cywin+NDK)

    链接地址:http://m.blog.csdn.net/blog/yhc13429826359/29357815 2014-6-8阅读578 评论0 前言:cocos2dx作为一个开源的移动2D游戏框 ...

  6. Android平台上最好的几款免费的代码编辑器

    使用正确的开发工具能够快速有效地完成源代码的编写和测试,使编程事半功倍.在网络信息高速发展的今天,移动设备的方便快捷已经深入人心,越来越多的程序员会选择在任何感觉舒适的地方使用移动设备查看或者编辑源代 ...

  7. 使用PostSharp在.NET平台上实现AOP(转)

    出处:https://www.cnblogs.com/leoo2sk/archive/2010/11/30/aop-postsharp.html 摘要 本文首先介绍AOP(面向方面编程)的相关概念及理 ...

  8. 使用PostSharp在.NET平台上实现AOP

    摘自:http://www.cnblogs.com/leoo2sk/archive/2010/11/30/aop-postsharp.html 本文首先介绍AOP(面向方面编程)的相关概念及理论,然后 ...

  9. 在Ubuntu平台上创建Cordova Camera HTML5应用

    在这篇文章中,我们将具体介绍怎样使用Cordova Camera HTML5 应用.很多其它关于Cordova的开发指南,开发人员能够參考文章"the Cordova Guide" ...

随机推荐

  1. Codeforces Beta Round #95 (Div. 2) C. The World is a Theatre 组合数学

    C. The World is a Theatre There are n boys and m girls attending a theatre club. To set a play " ...

  2. c++ 指定长度容器元素的拷贝移动(copy_backward)

    #include <iostream> // cout #include <algorithm> // copy_backward #include <vector> ...

  3. Linux忘记root登录密码解决方法

    有时候由于长时间米有登录linux系统,等需要用的时候突然忘记root密码,怎么办?下面简单介绍解决方法. redhat 和 centos 6.5 可以,7.0以上未测 在系统重启后,不停地按”e”键 ...

  4. Python - configParser模块学习

    configParser 模块用于操作配置文件 注:Parser汉译为“解析”之意. 配置文件的格式与windows ini文件类似,可以包含一个或多个节(section),每个节可以有多个参数(键= ...

  5. indexedDB入门

    localforage localStorage局限性:存储容量限制,仅支持字符串,如果是存对象还需要将使用JSON.stringify和JSON.parse方法互相转换:读取都是同步的.大多数情况o ...

  6. js和css兼容问题

    (一)html部分 1.H5新标签在IE9以下的浏览器识别 <!--[if lt IE 9]>  <script type="text/javascript" s ...

  7. .net常见框架

    从学习.NET以来,优雅的编程风格,极度简单的可扩展性,足够强大开发工具,极小的学习曲线,让我对这个平台产生了浓厚的兴趣,在工作和学习中也积累了一些开源的组件,就目前想到的先整理于此,如果再想到,就继 ...

  8. English trip -- VC(情景课)9 B Outside chores 室外家务

    Vocabulary focus 核心词汇 cutting the grass 修剪草坪 getting the mail  收到邮件 taking out the trash  把垃圾带出去 wal ...

  9. English trip -- Phonics 2 元音字母a

    xu言: 欲速则不达,如果这是你生命中最后一天.你还愿意花这么多精力继续坚持你现在做的事吗?如果答案是否定的,那么你需要改变了! What makes a word? 单词构成 Word 单词:    ...

  10. CSS#Flex-box, border-size, onresize() event, Media Queries

    Flexbox Pseudo-classes box-sizing: border-box HTML DOM event  resize() @media Queries: 根据一些css条件,触发一 ...