PLT Design发布了新版本的Racket,类Scheme通用多模式编程语言Racket 6.7可以支持在Android上构建图形类应用程序,它同时改进了REPL、包管理器,还支持扩展的Typed Racked。

\\

Racket 6.7对于Android GUI编程的支持是通过racked-android项目所实现的。InfoQ对话UMass Lowell副教授、racked-android创建者Jay McCarthy,探讨了相关内容。

\\

是否能请你介绍一下,这个项目是怎么应运而生的,它会被使用于哪种类型的应用程序开发?

\\

\

Black Swan Learning, LLC (BSL)是目前XPrize Global Learning竞赛中的一支队伍。他们使用Racket搭建了一个“学习操作系统”,并且XPrize竞赛要求参赛者必须将学习工具部署在Android平板电脑上,因此他们对于Racket的发展做出了很大的贡献。我在RacketCon上遇到了BSL的领袖Byron Davies,他请求我帮助他搭建这个项目,嗯,其余的不用多说了。

\\

从技术上来说,由于CVM的可移植性,以及Matthew Flatt甚至在好些年前就已经做出了ARM JIT,所以自Android第一个版本以来,Racket就开始在Android上运作了。对我们来说,我们必须解决连接Java至Racket的一些问题,才能实际构建Android应用程序。

\

\\

Racket-android旨在实现创建基于OpenGL的应用程序。这是否为你们路线图上其他的Android APIs提供了支持?

\\

\

BSL对于全屏基于画布布局的应用程序非常感兴趣,因此这就是我们要完成的第一个目标。由于OpenGL可以提供良好的性能,而且我已经有一个2D的OpenGL引擎可以实现需求,所以使用OpenGL是一个非常可行的选择。从此出发可以为Android的Java API搭建一个基于Racket的FFI,这看起来没有任何的技术性挑战(从技术工作上来说)。我们目前尚没有计划实现它。

\

\\

使用Racket给Android开发带来了什么优势和缺点?

\\

\

你必须忽略大部分的系统APIs(尽管不是所有的系统APIs),这显然是一个劣势。在搭建的过程中,你需要时刻留心,避免使用不存在于Android上的库。目前来看,我并不认为使用Racket给Android开发带来了什么特别的好处,但如果你偏向于使用Racket编程(搭建DSLs,大量使用函数式编程等等),那你将会受益于此。

\

\\

Racket 6.7中其他值得关注的内容:

\\

  • Racket的REPL现在使用racket/interactive来支持行编辑、命令及结果历史和元命令。元命令可以扩展REPL已知的命令集。元命令“开箱即用”,开发者可以使用backtrace回溯追踪到最后一个异常,使用trace追踪到命名的函数,使用profile更统计性地、精确地分析代码等等。 \\
  • Racket的包管理器(raco pkg)允许当从Git仓库安装包的的时候,通过git-checkout-credentials配置选项指定验证凭证。此外,raco pkg支持隧道使用HTTP CONNECT。 \\
  • 可以逐步指定类型信息的Typed Racket,作为Racket的扩展,目前已经扩展到包括racket/os和racket/db/sqlite。\

Racket 6.7版本现在在Racket网上可供下载。

\\

查看英文原文:Racket 6.7 Brings Android App Support, Improved REPL, and More

Racket 6.7最新版本:提供对Android App的支持及改进的REPL等等相关推荐

  1. DaoCloud道客云原生开源项目KLTS,全称为Kubernetes Long Term Support,为Kubernetes早期版本提供长期免费的维护支持

    DaoCloud道客的云原生开源项目KLTS,全称为Kubernetes Long Term Support,主要使命是为Kubernetes早期版本提供长期免费的维护支持.KLTS (官网:KLTS ...

  2. 万能监控摄像头app软件下载_360eyes官方下载安装最新版本-360eyes摄像头手机app下载v3.7.8.40 安卓版...

    360eyes监控摄像头app是与摄像头配合使用的高清视频播放软件,用户能够在手机上实时观看监控的画面,远程对摄像头进行控制,全情互动模式的体验,支持倍速播放视频,支持分享视频至社交平台,喜欢的朋友就 ...

  3. 安卓最新版本_小米穿戴app下载安装-小米穿戴app官方版下载v1.2.1 安卓最新版本...

    小米穿戴设备app最新版本是一款用户小米手表的智能连接软件,根据小米手表显示的二维码进行连接,实时进行同步你的身体数据,为你分析身体健康问题,管理你的各种数据有异常时也会提醒你,感兴趣的朋友赶快来22 ...

  4. android系统 最新版本是多少,安卓系统最新版本是多少 Android M 最新功能

    就在小编的手机还停留在Android 4.4的时候,谷歌今天的开发者大会已经发布了最新的安卓系统.一起来看看这个最新的系统是否值得我们更新系统或者更换手机吧! Android M 介绍 5月29日消息 ...

  5. android supportv4最新版本19.1,Android Studio:无法找到:’com.android.support:support-v4:19.1.0′...

    我想在Android Studio中使用支持库构建一个应用程序,但是当添加支持库的依赖关系时,我收到以下错误: Error:Failed to find: com.android.support:su ...

  6. 苹果微信更新不了最新版本_电脑微信版本更新!支持批量删除联系人

    每一次的微信更新一般来说都要引起一阵全网的讨论,甚至还有可能登上热搜,苹果和安卓系统有时还会有不同的更新内容.但是大家好像都容易忽视了电脑端的微信更新内容,电脑端的微信更新总是悄无声息地,也没什么人关 ...

  7. 小肚皮最新版本_小肚皮app官网下载_小肚皮app安卓版_手心游戏

    请问你有小肚皮App吗?如果你木有,抱歉!我们做不了朋友-你竟然不知道小肚皮是现在00后最炙手可热的社交养成平台,不仅在换装里陪养自己辣眼睛的时尚品位,在教学楼里越玩越瘦,快乐减肥,更在一发中体验&q ...

  8. android nfc 支付功能,PayPal宣布新版Android APP将支持NFC支付功能

    据外媒报道,在巴塞罗那召开的世界移动通信大会(MWC)上,在线支付巨头宣布在即将到来的PayPal安卓新版本APP将支付NFC支付功能. 从2014年8月份开始,1800万的消费者都选择使用PayPa ...

  9. android app 自动更新,app升级项目,新增强制更新(可静默),支持热更新(wgt),可支持高版本安卓系统...

    pure-updater 一个可以用的自动更新方案 经测试可支持 Android 9.0 已支持热更新 已支持静默的强制更新 如果您觉得还可以的话那就点个五星吧!谢谢! 已测试 android 8.0 ...

最新文章

  1. github入门教程
  2. C语言比较字符串长短
  3. 世界很大,先从这几个公众号看起!
  4. MapReduce分区-原理
  5. 软件工程中的所有内聚类型【吐血整理,附带排名!】
  6. 微信提交表单到服务器,微信小程序页面表单如何跟图片一起上传服务器
  7. 2000个流处理器?RV870消息首次透露
  8. 用sed替换文件中的空格
  9. linux下命令行操作快捷键及技巧
  10. UNP Chapter 19 - 多播
  11. 使用Scipy进行函数优化
  12. php phpexcel导入excel
  13. 博饼游戏c语言,2015中秋博饼游戏规则
  14. Bonny校园app使用体验
  15. 关于过圣诞节的一段往事
  16. python list超出范围_错误:列表索引超出范围Python(Error: List Index out of Range Python)...
  17. [原创] RT7 Lite win7旗舰版精简方案
  18. 【转载】面试题:面向对象的特征和基本特征有哪些 之抽象
  19. 服务器上reportqueue文件夹,删除reportqueue文件夹的操作方法-电脑自学网
  20. 计算机对水利方面的影响,计算机技术对于水利工程信息化系统的优化作用

热门文章

  1. 长白山特色产品谋定农民丰收节交易会 吉林蛟河农商互联
  2. HCNA(012-211) 试题解析
  3. elasticsearch6 学习之安装
  4. RPM安装rabbitMQ
  5. 一种storyboard+swift实现页面跳转的方法
  6. C# ckeditor+ckfinder的图片上传配置
  7. 小程序离成功还差一个版本
  8. PMcaff微课堂 | 洋葱淘elya妞,前百度UX Leader:独门创业经验,产品秘籍
  9. 【产品]如何建立交互设计自查表
  10. 从小白到大神程序员必读15本经典电子书免费送第三季(先到先得)