NoFlo:只需连接线条,让人人都能写程序 |PingWest

PingWest  •  扫码分享
我是创始人李岩:很抱歉!给自己产品做个广告,点击进来看看。  

NoFlo:只需连接线条,让人人都能写程序

  • 陈粲然 Ray 发布在 Demo Wall
  • 分享 0 条评论
    新浪微博 腾讯微博 Twitter Facebook LinkedIn

我偶尔会用可视化的游戏引擎GameSalad做点小游戏,简单的说,它为我提供了许多现成的功能代码模块和函数,我只需要为游戏中的各个对象设计正确的逻辑,就能很方便的制作简单的游戏。这让我想到,如果真的有一种编程环境,能够真正的做到“可视化编程”,清晰地展现程序之间的逻辑结构,那么不仅会有利于程序员编写和查看代码,同时也能让许多人轻松的学习编程。所以,当我看到NoFlo的时候,感到十分的兴奋。它是一个面向JavaScript语言的线性可视化编程环境。

我们知道,一长串段代码中不同的代码块之间包含着各种逻辑和调用关系,这些关系都可以用不同的线路图来表示,只不过在传统的编程工具中,编程环境都是至上而下的文本,这种关系表现的并不明显。但如果我们在纸上将这些代码块分散的排列,用代表不同关系的彩色线条将有调用关系的代码块连接起来,让人们能够顺着这些轨迹轻易地读懂程序。

7f02d72ece74a0c106a7dfa25f96e22a_large (1)

再进一步,我们把这些代码块都看做是一个个的“黑盒”,我们甚至不需要知道这些黑盒里具体的代码,只需知道这些黑盒各自的功能和有哪些接口,通过这些接口可以将黑盒们相互连接并传输信息。同时,无需改变黑盒的内部结构,通过不同的连接方式就能重组整个黑盒系统,实现不同的功能,即重写了一个全新的代码,那么不仅能大大提高代码编写的效率,同时还能让那些没有学过编程语言的人轻松的学会编程,因为他们只需理解各个代码块的功能和调用逻辑就行了。

以上的思想被程为“Flow-based programming”( 基于流程的编程),其实它早已被广泛运用在一些产品中,例如集成在xcode tool里的专为苹果系统开发的动画合成软件Quartz Composer,就利用这个原理帮助设计时制作复杂的动画效果。但可惜的是,Quartz Composer也只适用于动画的制作。

DotMatrix-Qamera-Quartz-Composer-794973

而NoFlo则是为软件开发而生的,它给我的第一印象就像是一个Protel那样的电路图绘制软件,包含了大量的程序组件,即黑盒,你可以在屏幕上选取这些组件并通过不同的线条为他们构建关系,就像在Protel中用线条连接元器件那样。不过根据NoFlo的团队介绍,他们的界面设计思路实际是来自伦敦地铁,其线条和节点都采用了相似的风格。

79fda6c36d59ae1ac1a2edb457ee6a61_large

同时,除了修改线条关系编写不同的程序外,你也可以查看每个组件中具体的代码信息,进行修改,或是自己编写组件存放在NoFlo中。NoFlo也建立了自己的社区,工程师们可以为其贡献自己的程序组件,供大家使用,目前最受欢迎的组建库有Stripe,、BaseCamp、Twitter和 GitHub。

b57db383a2a2509b2252bc477a846c92_large

如今,NoFlo已经公布 NoFlo 0.4的版本,他们也开始在Kickstarter上筹集资金来帮助他们实现这一目标,同时,他们的想法也不仅仅局限在JavaScript程序上,而是想进一步扩展到Android和iOS程序,以此来实现让每个人都不用考虑编程语言,就能动手编写程序的愿景。

陈粲然 Ray rchen@pingwest.com

不揣测动机、不质疑资格、不定义身份、不混淆概念、诚恳承认错误,做良性讨论。

YouTube靠推荐算法获得艾美奖,它是如何做推荐的? 已经是最新

0 条评论

取消回复

登录 注册

Demo Wall

NoFlo:人人都能写程序详情

NoFlo:只需连接线条,让人人都能写程序

Parallella详情

99美元的Parallella,要向大众普及超级计算机

Quip:团队协作的写作工具详情

团队协作的写作工具Quip:为移动而生的文档编辑器

Scanadu Scout详情

别再用手机给自己体检了!专业级的家用智能体检设备已经到来

Tushky:“出售”业余时间详情

Tushky:用Airbnb的模式,租的不是房子,而是你的业余时间

在微信关注 PingWest

微信

随意打赏

提交建议
微信扫一扫,分享给好友吧。