Reason的介绍和搭建Reason开发环境
Reason介绍
Reason是在Ocaml语言的基础上修改而来,专门提供给前端开发者使用。
Reason是函数式编程语言,使用Bucklescript编译器编译成javascript语言。
在我看来,至少有两大优点:
1.编译后的javascript优化得非常好,让我们能够高性能地使用函数式编程。
2.强类型和类型推导,让我们既不用向Typescript那样定义很多类型(Reason会帮我们推导类型),又可以享受强类型约束的好处(编译时能检查更多的错误)。
我们Wonder已经使用Reason两年的时间了,所有产品,包括前端后端,都用Reason语言写,非常好用。
下面是一些链接资料:
Reason官网
如何评价 reasonml ? -> Wonder的回答
如何在VSCode中搭建Reason的开发环境
建议使用VSCode编辑器来开发Reason,因为它的插件支持得最好。
具体搭建Reason开发环境的步骤如下:
1.执行“yarn global add bs-platform”
这一步是为了安装Reason的相关工具,如格式化工具bsrefmt等
2.安装VSCode
3.安装VSCode->Extensions->reason-vscode插件
4.设置reason-vscode,显示函数的类型签名
在VSCode->“设置”中,搜索到reason的设置,选中 “Show the type for each top-level value in a codelens”。
或者在setting.json中,加上:
"reason_language_server.per_value_codelens": true
5.克隆Reason-Example项目,学习如何开始开发:
git clone https://github.com/Wonder-Technology/Reason-Example.git
1)执行"yarn install"
2)执行"yarn watch"
这样在写Reason的时候,会自动编译为js。
3)执行"yarn start",在浏览器地址中输入 http://127.0.0.1:8080 , 运行index.html页面
打开控制台,看到输出“1”
应用案例
案例就是我们Wonder的产品哈,详见:
Wonder-Editor-基于Wonder.js的3D编辑器
我写的“从0开发3D引擎”系列博文也使用了Reason语言,详见:
从0开发3D引擎
Reason的介绍和搭建Reason开发环境的更多相关文章
- JAVA学习(一):Java介绍及其平台、开发环境的配置与搭建
Java介绍及其平台.开发环境的配置与搭建 1.Java的介绍 Java是一种面向对象的编程语言,具有跨平台.可移植.分布式.简单.可扩展等诸多特性.Java能够进行桌面应用.Web应用.分布式系统及 ...
- 基于C/S架构的3D对战网络游戏C++框架_05搭建系统开发环境与Boost智能指针、内存池初步了解
本系列博客主要是以对战游戏为背景介绍3D对战网络游戏常用的开发技术以及C++高级编程技巧,有了这些知识,就可以开发出中小型游戏项目或3D工业仿真项目. 笔者将分为以下三个部分向大家介绍(每日更新): ...
- 搭建Cordova开发环境
Cordova是什么 Apache Cordova是一套设备API,允许移动应用的开发者使用JavaScript来访问本地设备的功能,比如摄像头.加速计.它可以与UI框架(如jQuery Mobile ...
- 在Eclipse下搭建Android开发环境教程
我们昨天向各位介绍了<在NetBeans上搭建Android SDK环境>,前不久也介绍过<在MyEclipse 8.6上搭建Android开发环境>, 都受到了读者的欢迎.但 ...
- visual studio 2015 搭建python开发环境,python入门到精通[三]
在上一篇博客Windows搭建python开发环境,python入门到精通[一]很多园友提到希望使用visual studio 2013/visual studio 2015 python做demo, ...
- Windows搭建python开发环境,python入门到精通[一]
从大学开始玩python到现在参加工作,已经有5年了,现在的公司是一家.net的公司用到python的比较少,最近公司有新项目需要用到python,领导希望我来跟其他同事training,就有了这篇博 ...
- 单机搭建Android开发环境(二)
前文介绍了如何优化SSD和内存,以发挥开发主机的最佳性能,同时提到在SSD上创建虚拟机.为什么不装双系统呢?双系统性能应该会更好!采用Windows+虚拟机的方式,主要是考虑到安卓开发和日常办公两方面 ...
- 单机搭建Android开发环境(五)
前文介绍了Android系统开发环境的搭建,本文将简单介绍Android应用开发环境的搭建. 基于Android Studio搭建应用开发环境,相比使用Eclipse简单得多.Android Stud ...
- 单机搭建Android开发环境(四)
单机搭建安卓开发环境,前三篇主要是磨刀霍霍,这一篇将重点介绍JDK.REPO.GIT及编译工具的安装,下载项目代码并编译.特别说明,以下操作基于64位12.04 Server版Ubuntu.若采用其他 ...
随机推荐
- 解决微信公众号授权登录和开放平台微信第三方应用授权登录获取到的用户Openid关联问题
开发背景: 最近一段时间一直在做关于微信方面的网站应用开发,这段时间也收获的不少关于微信开发方面的开发技能,接触的比较多的主要有微信公众号和微信网站app第三方登录授权,以及微信会员卡,优惠券和扫描二 ...
- win10下 anaconda 环境下python2和python3版本转换
在cmd的环境下,输入以下命令安装Python2.7的环境 conda create -n python27 python=2.7 anaconda 上面的代码创建了一个名为python27的pyth ...
- ipv6地址抓包分析
拓扑图: 因为多路由,所以采用ospf配置将路由实现互通,从而进行抓包 ospf配置以R1为例 查看R4路由表 做完进行ping通测试 R4pingR3 R4pingR5 进行抓包分析 128报文 1 ...
- Python3+unitest自动化测试初探(中篇)
目录 6.生成测试报告 7.编写邮件发送工具 8.发送邮件 发布 0 86 编辑 删除 Python3+unitest自动化测试初探(中篇)(2019-04-18 01:41) 发布 3 245 编辑 ...
- jquery快速入门(五)
jQuery - AJAX AJAX 是与服务器交换数据的技术,它在不重载全部页面的情况下,AJAX 通过后台加载数据,并在网页上进行显示,实现了对部分网页的更新. AJAX就是异步 JavaScri ...
- JDBC事务控制
概念 事务(Transaction)是访问并可能更新数据库中各种数据项的一个程序执行单元(unit).事务通常由高级数据库操纵语言或编程语言(如SQL,C++或Java)书写的用户程序的执行所引起,并 ...
- 【1】Asp.Net Core2.2从环境配置到应用建立
作者:Eleven 来源:公众号[软谋net] [前言] .Net Core开源&跨平台,已经肉眼可见将成为.Net平台的未来,在企业招聘需求上已经频频见到,接触到很多公司内部都已经开始尝试C ...
- asp.net easyui 动态绑定下拉框
前台: <title>标题</title> <link href="EasyUi_v1.3.4/easyui/themes/default/easyui.css ...
- vue实例化
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 从零开始搭建服务器部署web项目
前言 该教程旨在完整描述建站过程,会将博主踩过的坑尽量详细的罗列出来.整个建站流程相对较为庞大,因此做了分解,同时适合大家有针对性的查询感兴趣的部分. 一.如何拥有自己的云服务器. 二.域名的购买与解 ...