新手问题 请问有没有一种类似 Ruby 但容易开发桌面程序的编程语言?

rubysir · 2016年03月11日 · 最后由 yxmmrwx 回复于 2022年03月27日 · 4847 次阅读

请问是否有这样一种语言: 1 类似 ruby 语言的思想和语法,比如完全面向对象,语法自然,代码即说明,表现力很好。 2 开发桌面程序很方便,即是不是特别强大和美观。 3 中文资料比较全。 多谢!

rubytk 就很好

Ruby 开发小的桌面程序也不是那么难啊,用 Tk 就好,只是很少有人有需要写这个而已

7 楼 已删除

#5 楼 @africwildman #6 楼 @shinkxw

感觉 Tk 只能当玩具,比如没有异步交互,比如没有系统托盘,而且用的人少,自己造轮子太费事喽。生产级环境还是上 Qt 这个框架吧,虽然重了点,也有那么些坑,但确实是非常易用且省事。

#9 楼 @cqcn1991 封掉了,谢谢提醒。

易语言不太适合大型软件开发。以前曾经试过,后来还是老老实实换用 C# 了。

#3 楼 @lgn21st 易语言一般用来写外挂 哈哈

楼主听说过 crystal

=_=回错了,楼主可曾听说过 crystal 这个语言吗

安利一下 Shoes, 给老婆做了好几个小工具,感觉很顺手 比如这个 https://github.com/southwolf/rewards_expreiment

易语言符合你的三点要求,特别是 中文资料比较全 这一点

ruby 下应该是 shoes

非常感谢各位热情回复! 如下仅是个人见解,不对不足之处,请指正! 易语言确实好用!但轮子 (易模块) 太少 (官方的资源网上仅有 2000 多个),质量不一,官方也没有搞一个轮子平台。 遇到解决不了问题,恐怕难以处理,或者花钱找第三方。 如果官方搞一个模块平台,严格审核(恶意或故意搞坏),再搞一个方便的检索和使用方法,将促进其发展。

我自己用 Ruby 在做 windows 下的桌面 app 框架,已初具效果,UI 已经做到运行时动态增删,达到 wysiwyg 了,而且手工配置的部分已经做到比 json,yaml,xml 直观太多了!

这是手工配置文件的样子

{ applications{

aio(CAppDemo){

title=mls "aio 测量系统" version="0.0.2" software_version="0.0.0"

font_name=mls "宋体" font_size=30

prop_int=127{ title=mls "亮度" default=0 llimit=0 ulimit=444 mouse_wheel=1.0

} def_prop_cmd_line

begin_def_measure_val{

prop_mesure_float=-0.0{ title=mls "半径" unit=UnitTypeMM

std=0.0 correct=0.05 llimit=-0.5 ulimit=0.5 }

end_def_measure_val}

light_adj=127{ title=mls "亮度" }

app_idle_time=0.0{ title=mls "程序空闲时间" unit=UnitTypeMS format="%6.3f" editable=false #read_only= true }

app_idle_proc_time=0.0{

title=mls "程序空闲处理时间" unit=UnitTypeMS format="%6.3f" }

worktable{ pos{ x=0.0{ title=mls "X" llimit=-100.0 ulimit=100.0 } y=0.0{ title=mls "Y" } ff=0.0{ title=mls "Z" } } }

time_for_show_caret=0.5{ title=mls "定时显示光标"

llimit=0.1 ulimit=1.0 mouse_wheel=0.01 unit=UnitTypeMS

}

ui_config=false{ title="配置 UI" }

test_mesure_val=0{

}

length_unit=UnitTypeMM{ title=mls "长度单位" vals=[UnitTypeMM,UnitTypeInch,UnitTypeMil] } angle_unit=UnitTypeDu{ title=mls "角度单位" vals=[UnitTypeDu,UnitTypeHuDu,UnitTypeDFM] } time_unit=UnitTypeS{ title=mls "时间单位" vals=[UnitTypeH,UnitTypeM,UnitTypeS,UnitTypeMS,UnitTypeUS] } vel_unit=UnitTypeMMPerS{ title=mls "速度单位" vals=[UnitTypeMMPerS,UnitTypeDuPerS,UnitTypePlusPerS] } show_dyn_prompt=true{ title=mls "显示动态提示" } user_type=PermissionUser{

}

} } }

需要 登录 后方可回复, 如果你还没有账号请 注册新账号