返回顶部
分享到

猎码AMix编程语言2.0版本开发计划

猎码动态 2022-11-13 07:13 847人浏览 3人回复
摘要

自猎码AMix编程语言发布,已过去一年。在这一年的时间里,我们废寝忘食地做了很多的工作,AMix也逐渐变得越来越强大。 不过,随着开发者们提出了越来越多的需求,1.0版本的AMix渐渐开始无法满足更高的要求。我们最初 ...

  自猎码AMix编程语言发布,已过去一年。在这一年的时间里,我们废寝忘食地做了很多的工作,AMix也逐渐变得越来越强大。

  不过,随着开发者们提出了越来越多的需求,1.0版本的AMix渐渐开始无法满足更高的要求。我们最初的工作方向是尽快地横向发展,研发多平台应用的开发能力。但鉴于目前AMix编程语言存在的局限性,我们需要先纵向深挖,在AMix1.0版本基础之上,设计研发AMix2.0。我们的目的是在兼容多平台的前提下,优化设计AMix,尽可能地支持所有的面向对象特性,尽可能地简化语法,尽可能地轻便、智能。

  AMix2.0主要的新特性或改动:
    1)增加类的声明。1.0版本是将am文件默认为一个公开的类,不需要书写类的声明结构。添加类声明可以支持对类的控制,如final类,不允许其他类继承;
    2)增加协议类。类似swift中的protocol,java中的interface。当一个类实现某个协议,那么该类的内部需要实现协议类中的所有接口方法;
    3)interface可以独立写到一个am文件,interface类似java中的抽象类;
    4)增加private、inherited、abstract修饰词,配合之前已有的修饰词public、static、final,可以支持更丰富的类成员的访问权限设置和状态设置;
    5)支持数据类型的智能推断,在声明变量、函数时可以省略数据类型;
    6)支持设置函数参数的默认值;
    7)支持定义可拓展的函数参数;
    8)支持枚举类
    9)支持快捷的正则表达式对象:/正则表达式/mig,类似JavaScript中的正则表达式;
    10)支持泛型;
    11)支持JSON和JSONArray的快捷创建和字段存取,就像在JavaScript中那样使用JSON;
    12)支持Map(哈希表)的快捷创建和字段存取;
    13)支持List(集合)快捷创建和存取,像数组一样使用List;
    14)Object(对象型)、Class、String(文本型)、Array(数组)、Number(数值)转为核心内置类,可以直接在常量上调用它们的类成员,而不再是通过其他工具类来处理;
    15)支持模板字符串,类似JavaScript中的模板字符串;
    16)Array(数组)、List(集合)、Map(哈希表)等数据,可以使用for循环语句遍历;
    17)去除"evt/事件"、"dfevt/定义事件"关键字。"dfevt/定义事件"关键字的作用是在父类中标记需要在子类中重写的方法,"evt/事件"的作用是在子类中标记重写父类的方法。这两个关键字的作用是明示方法的用途,但在实际开发中存在局限性。在AMix2.0中可以通过@Override注解来标记重写的方法。
    18)一些关键字去除#字符,直接写单词。如import、constructor;
    19)去除#innerClass关键字,类和内部类都使用class关键字来定义,在class结构内嵌套class结构;
  
  AMix2.0几乎支持了所有的面向对象特性,带来的第一个好处就是,市面上已存在的组件库几乎都可以直接在AMix项目中使用。这样一来,就直接解决了AMix的组件生态问题。另外,对于原生组件开发者来说,可以节省很多工作。可以直接按原生的逻辑开发,不需要做AMix语法和原生语法的对接;不再需要做原生类和AMix支持类的转换。AMixStudio会随着AMix2.0发布新版,采用新的项目加载方案,加载项目中依赖库的所有类,对这些类做词法解析和代码提示。

  AMix2.0仍然提供中文关键词,可以使用中文编写代码。我们会设计一套新的语言本地化方案,对编程语言以及组件库的代码进行本地化。它不仅可以支持中文编程,甚至可以支持任何语言的编程,比如:俄语、日语、汉语。这其中其实没有什么高超的技术,但却是非常有意义的事情。编程中使用的语言文字本质上只是一种编码,对于电子设备性能过剩的现代来说,编码转换导致的性能问题已是微乎其微,可完全忽略不计。而代码逻辑导致的性能问题才是我们需要关注的。编程语言的本地化一方面可以降低学习门槛,另一方面使得代码易读,容易组织逻辑,我认为这是很有意义的。
  
评论
847人参与,3条评论

精彩评论
  • yangzi 2023-10-16 21:23
    期待2.0版本
  • yangzi 2023-10-16 21:22
    我30多岁,想编程,但英文文档组件说明,实在是太累了,Amixz支持中文编程,,真的是令国人感谢啊
  • 猎码 2022-11-13 12:47
    666 猎码 牛

查看全部评论>>

热门问答