Racket 6.7最新版本:提供对Android App的支持及改进的REPL等等
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等等的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CSS基础,选择器
- 下一篇: JQUERY实现放大镜