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. android调用照相机拍照获取照片并做简单剪裁

    引用转载http://www.cnblogs.com/eyu8874521/archive/2012/07/20/2600697.html 效果: 客服端代码:   package com.cn.lx ...

  2. WPF全屏

    https://blog.onedevjob.com/2010/10/19/fixing-full-screen-wpf-windows/ 让窗口重绘 Visibility = Visibility. ...

  3. zzuli2130卡时bfs题

    https://acm.zzuli.edu.cn/zzuliacm/problem.php?id=2130 2130: hipercijevi Time Limit: 1 Sec  Memory Li ...

  4. UVA-10689 Yet another Number Sequence (矩阵二分幂模板)

    题目大意:已知递推公式和边缘值,求某项的最后m(0<m<5)位数字. 题目分析:矩阵二分幂的模板题. 代码如下: # include<iostream> # include&l ...

  5. 双十一用python秒杀京东好货!

    好久没用python了,都写不来了. 需要用到selenium 和 Chromedriver: 我只是记录一下几个坑: 第一个坑:自己电脑里安装了两个版本的python ,3.5和3.6 结果我在pi ...

  6. 遍历页面上主从表中从table中的内容

    //如果在建VL的时候没有建访问器.从主表行拿到从表VO的行级不太好搞的 OAAdvancedTableBean innerTable = (OAAdvancedTableBean)webBean.f ...

  7. JS常用操作方法图表

    截取字符串方法 方法名 参数 返回值 例子 String.prototype.substr() (indexStart, length) 都可为负数,length为负数时自动转为0,length不传默 ...

  8. BlockingQueue-----多线程(一)

    前言: 在新增的Concurrent包中,BlockingQueue很好的解决了多线程中,如何高效安全“传输”数据的问题.通过这些高效并且线程安全的队列类,为我们快速搭建高质量的多线程程序带来极大的便 ...

  9. java并发编程:线程安全管理类--原子操作类--AtomicStampedReference<V>

    1.类 AtomicStampedReference<V> AtomicStampedReference 维护带有整数“标志”的对象引用,可以用原子方式对其进行更新. 实现注意事项.通过创 ...

  10. cas 服务端相关配置

    SSO-安全证书配置 CAS默认使用的是HTTPS协议,如果对安全要求不高,可以使用HTTP协议 修改deployerConfigContext.xml(cas/WEB-INF)增加参数 p:requ ...