图形化编程语言:Blockly

Blockly一种在网页上运行的图形化编程语言。使用者以拖拽拼图的方式开发出应用程序。不需要任何的代码编写。

Blockly

效果演示:

  • 走迷宫 – 使用Blockly语言破解迷宫路径。
  • 代码转换 – 把Blockly代码转换成JavaScript, Dart, Python 或 XML 代码。
  • RTL – Blockly语言中right-to-left模式中的效果(阿拉伯语和希伯来语习惯).

Blockly语言目前处于技术探讨阶段。我们希望开发人员使用Blockly,给予反馈,想出新的能使用它的地方。所以的代码都是开源的。加入我们的邮件列表,让我们知道你的想法。

分享这篇文章:

23 Responses to 图形化编程语言:Blockly

  1. cyler123 says:

    就是说:
    原来手动输入的部分,变成了拖动。。。。本质还是代码

    我还以为是像VB那样,高度组件化呢。。。。。

  2. uffy says:

    我走出来了 ,蛮有趣的
    while (true) { Maze.move(0, “ch9tn0ae”); if (!Maze.isWall(2)) { Maze.turn(1, “x.bvt:dn”); } else if (((!Maze.isWall(1)) && (!Maze.isWall(3))) && (Maze.isWall(2) && Maze.isWall(0))) { Maze.turn(0, “biroijnp”); } else if ((Maze.isWall(0) && Maze.isWall(1)) && (Maze.isWall(2) && (!Maze.isWall(3)))) { Maze.turn(1, “ski3-nz7”); Maze.turn(1, “xb8rfrtj”); }}[The serial numbers are just used to highlight blocks when run.]

  3. 胡阳 says:

    不错,能生成代码,以前有一个编程小游戏和这个类似,不过不是那么直接。

  4. bamanzi says:

    我也走了一下迷宫:


    Maze.move(0, "tgna0kin");
    while (true) {
    Maze.turn(0, "dnge-bwn");
    if (Maze.isWall(0)) {
    Maze.turn(1, "z:p2v46h");
    }
    if (Maze.isWall(0)) {
    Maze.turn(1, "hljpnx2m");
    }
    Maze.move(0, "jamsgr_c");
    }
    Maze.move(0, "sjk1bjdp");
    //[The serial numbers are just used to highlight blocks when run.]

  5. ppretender says:

    印象深刻。界面友好。用户群不知道是什么,自己喜欢文本方式。

  6. Peter.Shi says:

    我个人认为,这是形式的转换
    代码 <---->图像。
    从代码编写到图像编写。

  7. Ruchee says:

    Google总是走在技术前沿啊,试用了一下,感觉很有发展前途,未来的软件开发不就正应该是这样拼积木吗

  8. old_taoist says:

    第一版
    while (true) {
    Maze.move(0, “ibt_newq”);
    if (Maze.isWall(0) && (Maze.isWall(1) && Maze.isWall(2))) {
    Maze.turn(0, “c85lxrvn”);
    Maze.turn(0, “oe06hdad”);
    } else {
    if (!Maze.isWall(1)) {
    Maze.turn(0, “xnyn3:25”);
    } else {
    if (Maze.isWall(0)) {
    Maze.turn(1, “tkwkv6r-“);
    }
    }
    }
    }

    [The serial numbers are just used to highlight blocks when run.]

  9. old_taoist says:

    while (true) {
    Maze.move(0, “ibt_newq”);
    if (!Maze.isWall(1)) {
    Maze.turn(0, “c85lxrvn”);
    } else {
    if (Maze.isWall(0)) {
    if (Maze.isWall(2)) {
    Maze.turn(1, “qn9hvbg.”);
    Maze.turn(1, “sobx3ix2”);
    } else {
    Maze.turn(1, “oe06hdad”);
    }
    }
    }
    }

    [The serial numbers are just used to highlight blocks when run.]

  10. old_taoist1 says:

    第二版

    while (true) {
    Maze.move(0, “ibt_newq”);
    if (!Maze.isWall(1)) {
    Maze.turn(0, “c85lxrvn”);
    } else {
    if (Maze.isWall(0)) {
    if (Maze.isWall(2)) {
    Maze.turn(1, “qn9hvbg.”);
    Maze.turn(1, “sobx3ix2”);
    } else {
    Maze.turn(1, “oe06hdad”);
    }
    }
    }
    }

    [The serial numbers are just used to highlight blocks when run.]

  11. 老道 says:

    while (true) {
    Maze.move(0, “ibt_newq”);
    if (!Maze.isWall(1)) {
    Maze.turn(0, “c85lxrvn”);
    } else {
    if (Maze.isWall(0)) {
    if (Maze.isWall(2)) {
    Maze.turn(1, “qn9hvbg.”);
    Maze.turn(1, “sobx3ix2”);
    } else {
    Maze.turn(1, “oe06hdad”);
    }
    }
    }
    }

    [The serial numbers are just used to highlight blocks when run.]

  12. 老-道 says:

    第三版

    while (true) {
    Maze.move(0, “ibt_newq”);
    if (!Maze.isWall(1)) {
    Maze.turn(0, “c85lxrvn”);
    } else {
    if (Maze.isWall(0)) {
    Maze.turn(1, “qn9hvbg.”);
    }
    }
    }

    [The serial numbers are just used to highlight blocks when run.]

  13. 我是这么做的 says:

    最笨最不用大脑的方法

    Maze.move(0, “xlq-re.0”);
    Maze.turn(0, “omb6lo6t”);
    Maze.move(0, “md.4l0w4”);
    Maze.move(0, “gpsyie2u”);
    Maze.turn(1, “nomnm182”);
    Maze.move(0, “vdnqsspb”);
    Maze.move(0, “hxm0fq74”);
    Maze.turn(0, “t7s7nyqz”);
    Maze.move(0, “e1n25x52”);
    Maze.move(0, “usi23f4m”);
    Maze.turn(1, “lyklrdpx”);
    Maze.move(0, “tmbh:iow”);
    Maze.move(0, “hgs2tig5”);
    Maze.turn(0, “j2io6n9x”);
    Maze.move(0, “cyh_lkxp”);

  14. op09 says:

    那个走迷宫点了运行,好像没反应,有好心的大哥哥帮忙解释下么?

  15. reverland says:

    while (true) {
    if (!Maze.isWall(1)) {
    Maze.turn(0, “gw3b44ug”);
    } else if (Maze.isWall(0)) {
    Maze.turn(1, “p.gngcci”);
    }
    Maze.move(0, “yfzq6378”);
    }
    挺好玩的,效率太低了……

  16. dreamersdw says:

    1. 这玩意儿与代码之间是一一对应关系,实在没有什么意思。
    2. 这玩意儿具有防呆设计,也许用它编出来的程序或许有逻辑错误,但绝对能运行起来。
    3. 如果真的用这用这玩意实现了足够多简单,标准、通用的组件,用它们完成一个复杂系统或许真的就像堆积木一样简单。
    3. 图形界面的面向接口编程也许真有一天会大行其道。

  17. tongDou says:

    while (true) {
    Maze.move(0, “jdamxtic”);
    Maze.turn(0, “m7l.u7.n”);
    Maze.move(0, “pmgacv4q”);
    Maze.turn(1, “u8_pw6j5”);
    }

    [The serial numbers are just used to highlight blocks when run.]
    只有6行代码

  18. 风间雨 says:

    while (true) {
    if (Maze.isWall(1) && (!Maze.isWall(0))) {
    Maze.move(0, “azfshlxf”);
    } else {
    Maze.turn(0, “t09yrs2c”);
    Maze.move(0, “ccya1g9q”);
    }
    }
    还不错,和CS50里的scratch很像嘛~

  19. Andy says:

    using too much time

    using on teaching will be fan

  20. small_fish__ says:

    感觉和Scratch很像啊

发表评论

电子邮件地址不会被公开。 必填项已用*标注

This site uses Akismet to reduce spam. Learn how your comment data is processed.