君土母语编程系统介绍

介绍

君土(jtu.net.cn)是一个集成开发系统,让人们使用母语学习编程、开发互联网应用。它实现了一种母语编程技术,通过这种技术人们可以用母语(中文、 英文、 阿拉伯文、西班牙文等)来编写各种应用程序(互联网应用、服务器端应用、电脑桌面应用等)。 这些互联网应用可以在各种系统环境(手机浏览器、电脑浏览器、微信、支付宝等)上运行。这些用母语编写的代码可以用其他母语名称调用。例如,可以用中文名称调用英文开发的代码, 可以用英文,阿拉伯文,西班牙文等名称调用中文开发的代码。

君土集成开发系统有以下这些特点:

  1. 使用母语编程
    • 君土技术让人们用母语,例如中文、阿拉伯文、西班牙文等学习编程,开发互联网应用。
  2. 支持多平台。特别是能够在平板和手机上就可以学习、开发互联网应用
    • 君土集成开发环境可以在微软视窗(Windows)、林纳克斯(Linux)、 苹果电脑(MacOS)、平板和手机上运行。 人们在这些平台上都可以学习编程、开发互联网应用。
  3. 先进的编程语言
    • 君土编程语言基于开源的编程语言项目。该编程语言是当前流行的编程语言之一,并有大力支持。许多大型软件项目都使用该编程语言来开发。
  4. 完善的开发环境
    • 君土集成开发环境基于功能强大开源集成开发环境项目,并提供服务器端代码管理系统。人们可以方便管理代码,发布网页应用。
  5. 丰富的开发资源
  6. 广泛的应用场景
    • 君土程序编译后生成的是通用的JavaScript代码,君土支持超文本(HTML)和样式表单(CSS)的母语编程。通过这些技术,君土可以开发互联网网页应用、基于Nodejs的服务器端程序和基于Electron的电脑桌面应用。

君土应用的结构

一个君土网页应用是一个 Reactjs应用。

君土如何支持母语编程

君土通过以下方法支持母语编程:

  1. 为编程语言关键字提供母语名称。编译器使用这些关键字解析代码。
  2. 为程序文件扩展名称提供母语名称。编译器在编译这种扩展名的代码文件时,使用这种母语的编程语言关键字解析代码。
  3. 为依赖库名称提供母语名称。编译器在解析引入代码时,引入母语名称对应的依赖库。
  4. 为依赖接口名称标注母语名称。编译器记录母语名称对应的原始名称,在生成代码时, 使用原始名称代替母语名称。
  5. 为超文本(HTML)提供母语名称。可以使用母语名称创建超文本标签。
  6. 为样式表单(CSS)提供母语名称。可以使用母语名称设置样式表单。
  7. 修改Graphql支持母语作为名称。可以使用母语查询和修改服务器数据。

中文编程支持

中文编程语言关键字(节选)

英文名中文名英文名中文名英文名中文名
abstractanyas
booleanbreakcase
catchclasscontinue
constconstructordebugger
declaredefaultdelete
doelseenum
exportextendsfalse
finallyforfrom
functiongetif
implementsimportin
inferinstanceofinterface
iskeyoflet
modulenamespacenever
newnullnumber
objectpackageprivate
protectedpublicreadonly
requireglobalreturn
setstaticstring
superswitchsymbol
thisthrowtrue
trytypetypeof
undefineduniquevar
voidwhilewith
yieldasyncawait
of

中文程序文件扩展名(节选)

英文名称中文名称英文名称中文名称
tstsx

中文依赖库名称(节选)

英文名称中文名称
react回应
react-dom回应-模
react-apollo回应-阿波罗
apollo-server阿波罗-服务
antd蚂蚁设计
styled-components样式-组件

标注接口中文名称(节选)

在声明文件中标注中文名称.

在lib.dom.d.ts等接口声明文件中标注中文名称.

declare var document/*;文档*/: Document;
declare var window/*;窗*/: Window & typeof globalThis;
declare function alert/*;告*/(message?: any): void;

interface PositionError/*;位置错误*/ {
    readonly code/*;码*/: number;
    readonly message/*;消息*/: string;
    readonly PERMISSION_DENIED/*;权限拒绝*/: number;
    readonly POSITION_UNAVAILABLE/*;位置不可用*/: number;
    readonly TIMEOUT/*;超时*/: number;
}

中文超文本(HTML)名称(节选)

英文名中文名英文名中文名英文名中文名
aabbraddress
areaarticleaside
audiobbase
bdibdobig
blockquote引语bodybr
buttoncanvascaption表题
citecodecol
colgroup列组datadatalist数列
dd描述deldetails
dfndialog话框div
dl列表dt列项em
embedfieldset域集figcaption物题
figurefooterform
h1题1h2题2h3题3
h4题4h5题5h6题6
headheaderhgroup题组
hrhtml标语i
iframe内框imginput
inskbdkeygen
labellegendli
linkmainmap
markmarqueemenu
menuitemmetameter
navnoscriptobject
oloptgroup项组option
outputpparam
picturepreprogress
qrprt
rubyssamp
scriptsectionselect
smallsourcespan
strongstylesub
summarysuptable
tbody表体td数元textarea文域
tfoot表脚th头元thead表头
timetitle标题tr表行
trackuul
varvideowbr

中文样式表单(CSS)名称(节选)

颜色

中文名英文名
浅绿aqua
black
blue
樱红fuch
gray
绿green
青柠lime
褐红maro
海军蓝nav
橄榄oliv
orange
purple
red
silver
蓝绿teal
white
yellow
transparent
三透rgba
相透hsla
rgb
hsl

重复

中文名英文名
repeat
无复no-repeat
复横repeat-x
复竖repeat-y

中文查询服务数据

这是一个从服务器查询天气信息的语句

常 查天气 = 图`
查 天气($地标:[文!]){
      天气列表(标:$地标){
        位{名 属}
        现{改时 资{温 文}}
        时{资{时 文 码 温 湿度 风向 风速}}
        天{改时 资{期 昼文 昼码 夜文 夜码 高 低}}
        空{综{质}}
      }
    }
`;

这是在君土上用中文开发的互联网应用,天气(https://git.jtu.net.cn/xuexi/tq3)。

代码例子:

引 * 作 回应 自 "回应";
引 { 组件 } 自 "回应"
引 { 查, 查询结果 } 自 "回应-阿波罗";
引 图 自 "图询-签";
引 样式 自 '样式-组件';
引 * 作 时光 自 '时光'
引 { 地位属, 地位 } 自 "回应-地位";

时光.域('zh-cn');

// 从服务器获取数据语句
常 查天气 = 图`
查 天气($地标:[文!]){
      天气列表(标:$地标){
        位{名 属}
        现{改时 资{温 文}}
        时{资{时 文 码 温 湿度 风向 风速}}
        天{改时 资{期 昼文 昼码 夜文 夜码 高 低}}
        空{综{质}}
      }
    }
`;

//定义显示需要的组件和样式
定 进度 = 样式.段`
文齐: 中;
`;

定 题 = 样式.容`
文齐: 中;
字号: 1.5应;
缘: 8素;
`;

定 空气 = 样式.容`
文齐: 中;
字号: 1.5应;
缘: 8素;
`;

定 外框 = 样式.容`
`;
定 时报框 = 样式.容`
溢横:机;
`;
定 时报表 = 样式.表`
文齐:中;
`;
定 天报表 = 样式.表`
文齐:中;
宽:100%;
`;

定 表体 = 样式.表体``;
定 数元 = 样式.数元``;
定 表行 = 样式.表行``;
定 像 = 样式.像``;

定 温度 = 样式.容`
文齐: 中;
字号: 5应;
`;
定 时间 = 样式.容`
文齐: 左;
字号: 0.5应;
`;
定 隔 = 样式.隔``;

//
类 天气 承 组件<地位属> {
  绘制() {
    值 位错 = 此.属性.位错;
    若(位错) {
      支(位错.码) {
        当 位错.权限拒绝:
          回 (<进度>获得位置权限被拒绝, 请允许.</进度>);
        当 位错.位置不可用:
          回 (<进度>位置不可用, 请重试.</进度>);
        当 位错.超时:
          回 (<进度>获得位置超时, 请重试.</进度>);
      }
    }
    值 坐标 = 此.属性.坐标;
    若(!(坐标)) {
      回 (<进度>获得位置中</进度>);
    }

    // 得到了位置数据,根据位置查天气
    回 (
      <查 查={查天气} 变量={{ 地标: [坐标.纬 + ":" + 坐标.经] }}>
        {(果: 查询结果) => {
          若 (果.载) {
            回 <进度>努力加载中...</进度>;
          }
          若 (果.错) {
            回 <进度>出错了:(</进度>;
          }

          值 天气数据: [化] = 果.数据.天气列表;
          若 (!天气数据 || 天气数据.长 <= 0) {
            回 <进度>没有天气数据:(</进度>;
          }

          值 天气1 = 天气数据[0];
          值 现 = 天气1.现;
          值 现资: [化] = 现.资;
          若 (!现资 || 现资.长 <= 0) {
            回 <进度>没有当前气温数据:(</进度>;
          }
          值 时资: [化] = 天气1.时.资;
          值 天资: [化] = 天气1.天.资;
          值 今天 = 天资[0];

          回 (
            <外框>
              <题>{天气1.位.名}</题>
              <温度>{现资[0].温 + '°'}</温度>
              <题>{现资[0].文 + ' ' + 今天.高 + '°/' + 今天.低 + '°'}</题>
              <空气>{"空气" + 天气1.空.综.质}</空气>
              <时间>{天气1.位.属 + " 更新时间: " + 时光(现.改时).格式("MM/DD HH:SS")}</时间>
              <隔 />
              <时报框>
                <时报表>
                  <表体>
                    <表行>
                      {时资.映射((项, 序) => <数元 键={序}>{时光(项.时).格式("HH:SS")}</数元>)}
                    </表行>
                    <表行>
                      {时资.映射((项, 序) => <数元 键={序}>
                        <像 源={"静/图/白/天气/" + 项.码 + ".svg"}></像></数元>)}
                    </表行>
                    <表行>
                      {时资.映射((项, 序) => <数元 键={序}>{项.文}</数元>)}
                    </表行>
                    <表行>
                      {时资.映射((项, 序) => <数元 键={序}>{项.温 + '°'}</数元>)}
                    </表行>
                  </表体>
                </时报表>
              </时报框>
              <隔 />
              <时报框>
                <天报表>
                  <表体>
                    {天资.映射((项, 序) =>
                      <表行 键={序}>
                        <数元 键={0}>{时光(项.期).格式("MM/DD")}</数元>
                        <数元 键={1}>{项.昼文 == 项.夜文 ? 项.昼文 : 项.昼文 + '/' + 项.夜文}</数元>
                        <数元 键={2}>{项.高 + '°/' + 项.低 + '°'}</数元>
                      </表行>
                    )}
                  </表体>
                </天报表>
              </时报框>
            </外框>
          )
        }}
      </查>
    );
  }
}

出 默 地位()(天气);

君土系统功能

君土系统提供了各个电脑平台和手机上的集成开发环境。提供了服务器端代码管理系统和页面应用发布服务。

君土母语编程的展望

君土技术可以用来开发操作系统。有丰富的开发资源可供使用,会有很多的人用母语开发应用。这些都能够促进开发出能够得到广泛接受的操作系统。

君土技术还可以用来开发嵌入式系统。人们可以用母语开发嵌入式系统。

每一种文字都可以用来开发软件,这能够极大的丰富各种文化。

2 comments

发表评论

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