msyscuione:基于msys的一体化CUI开发生产环境,支持qt,llvm,ros集成常见web appstack

本文涉及的产品
资源编排,不限时长
简介: CUI又称TUI,作为一个开发者和云主机这种服务性环境的使用者,无论有没有意识到,它都是装机时我们大多数情况下第一要装的。linux往往天然集成语言环境和包管理(语言级或系统桌面级),这使得云主机linux装机量往往占首位。相反在windows下没有这样一套东西,因为windows往往作为终端windows应用往往面向要求图形界面的普通用户。

CUI又称TUI,作为一个开发者和云主机这种服务性环境的使用者,无论有没有意识到,它都是装机时我们大多数情况下第一要装的。linux往往天然集成语言环境和包管理(语言级或系统桌面级),这使得云主机linux装机量往往占首位。相反在windows下没有这样一套东西,因为windows往往作为终端windows应用往往面向要求图形界面的普通用户。

那么为什么需要这样一套环境呢?

1,cui环境是历史上程序开发和应用(部署、安装)原始形式,cui是程序上产出后的raw form,与GUI相对,GUI是高级封装形式。比如编译器这种东西历史上就是CUI后有IDE的。用法上约定俗成。仅需tui就够了;第二,服务性的程序往往也只需要而且产出时提供的就是其CUI的形式。不需要套一层GUI。也不需要像终端程序那样依赖复杂而频繁的GUI配置。复杂性程序本身也不需要透露太多用户界面用于配置。只喂指定参数即够。因此适合服务器环境。第三,有些需要batch配置的程序必定需要CUI,GUI反而不合适。

故,这三点其实可以看成是服务器开发和应用部署和客户终端的开发部署差别要求。

2,CUI是最接近被调用的。遵从生产部署的先后顺序列,比如一些API DLL本身能运行的话就是天然CUI的—dll即demo,开发即发布。程序的开发和生产往往是共享部件的近年来的java,.net大语言系统深刻地体现了这点因为它的语言环境有时可以作为可选系统组件(比如netfx系列),。运行环境与开发环境中的runtime往往天然一体,在脚本语言中,发布runtime往往意味着发布整个脚本语言环境。

ps:runtime=run time support,分开run和time并加了support才是重点,即runtime其实不是语言后端,那些supportting libs可能反而正是重点:提供对该语言开发的应用在run time的一切支持,包括前后端。
4,一句话,CUI是程序的原始形式。维护这样一个环境是必要的-它是继os core之后在PC软件上出现的第二大存在,这往往出现在windows和linux易用性之争上。或CUI,GUI之争中。
再来看这个msyscuione:

其实对windows上的cui的整合工作一直存在比如msys2,比如cmder,而msyscuione倾向于模拟了linux下的开发生产合一环境,全开源(未来可能与ros结合做成开箱即用的全开源高可用整体),并极力做到一个整块生态,即全部基于mingw,未来希望整块就小精。并尊重了多语言多开发的现实,将它们合理组织在langsys,appstack目录下只透露simple facades给用户(就像我的1ddlangsys=qtcling,1ddpractise codebase一样)。

大家知道一个生态有什么好处吗,我们现在接确到的每个应用的每个DLL都可能是大块的(比如chrome v8,qt dll),导入复杂的对象环境到内存。模块同一,你看windows的DLL其实全是由DLL组成的,它的每个DLL都是关于kernel.dll,user32.dll等的生态,这种小精性有如瑞士军刀自成一体所以快。不必一启动时拉大量第三方DLL,迅速占满系统资源。现在的APP普遍比较大因为web时代我们复用轮子的开发越来越典型了,一个APP都可以做得系统一样大,就是这个道理。

msyscuiinone被组织进了msys的文件结构的另一个的好处,是以后可以做sandbox,免注册表挂载。绿色激活某一组件到活动系统。就像云端(yuanduan.cn)一样,你可以理解为docker的fuse,或shadow filesystem

msyscui没有包管理,没有语言级容器。msyscuione将这一切留给现有语言或msyscuione可能不断增加的新语言支持,因为包管理往往与语言绑定是它们的机制,记住:程序的不折腾原则是在正确的层面干正确的事情。这是指抽象,而运营,可以选择一个应用切面渗透作已有整合,像微信小程序那样,一个应用强大了完全可以通过业务渗透+软件抽象整合,软件之道莫不如此。

————

msyscuione开发环境主要部件:

1,集成msys1.01
2,集成perl-5.24.0-mingw32 (比如为了支持qt等的shadow build)
3,采用i686-4.8.3-release-posix-dwarf-rt_v3-rev2(集成python,python2.7builtin)
4,集成qtcling
5,。。。
msyscuione支持编译的源码体系有qt和llvm/cling等支持ros免rosbe。

生产环境方面,支持常见开箱即用的那些webstacks,其实每种组件都能定义一种appstack,git加web也能组成gitstack,openvpn跟其它组合也能定义access server之类的东西,nginx也有openresty这样的增强变体,但webstack往往指wamp,wnmp这些简单环境,比如当今最常见的那些由一种动态语言加数据库加其它东西混合而成的东西它们没有层次,msyscui为他们定义了一种良好的语言/stack分开的层次。

msyscuione 应用stack环境主要部件:monogodb,mysql,nginx,git,apache,openvpn,ssh

———–

其它,msyscuione最小仅要求w2k3/winxp:

修正了mingw32的如下文件头,开闭其SECURE API支持,在win2k3/winxp上不会出现“找不到msvcrt.dll中函数入口”的错误

i686-w64-mingw32\include\_mingw.h
/* #define MINGW_HAS_SECURE_API 1 */
使用junction.exe替换了ln,使得一些需要创建软链接的编译脚本可在win2k3/winxp上通过。
junction.exe to replace ln.exe

未来还将支持更多..

下载地址见源站文章链接。


(此处不设回复,扫码到微信参与留言,或直接点击到原文)

qrcode.png

相关实践学习
使用ROS创建VPC和VSwitch
本场景主要介绍如何利用阿里云资源编排服务,定义资源编排模板,实现自动化创建阿里云专有网络和交换机。
阿里云资源编排ROS使用教程
资源编排(Resource Orchestration)是一种简单易用的云计算资源管理和自动化运维服务。用户通过模板描述多个云计算资源的依赖关系、配置等,并自动完成所有资源的创建和配置,以达到自动化部署、运维等目的。编排模板同时也是一种标准化的资源和应用交付方式,并且可以随时编辑修改,使基础设施即代码(Infrastructure as Code)成为可能。 产品详情:https://www.aliyun.com/product/ros/
相关文章
|
1月前
|
设计模式 前端开发 数据库
Python Web开发:Django框架下的全栈开发实战
【10月更文挑战第27天】本文介绍了Django框架在Python Web开发中的应用,涵盖了Django与Flask等框架的比较、项目结构、模型、视图、模板和URL配置等内容,并展示了实际代码示例,帮助读者快速掌握Django全栈开发的核心技术。
171 45
|
15天前
|
前端开发 安全 JavaScript
2025年,Web3开发学习路线全指南
本文提供了一条针对Dapp应用开发的学习路线,涵盖了Web3领域的重要技术栈,如区块链基础、以太坊技术、Solidity编程、智能合约开发及安全、web3.js和ethers.js库的使用、Truffle框架等。文章首先分析了国内区块链企业的技术需求,随后详细介绍了每个技术点的学习资源和方法,旨在帮助初学者系统地掌握Dapp开发所需的知识和技能。
2025年,Web3开发学习路线全指南
|
22天前
|
存储 前端开发 JavaScript
如何在项目中高效地进行 Web 组件化开发
高效地进行 Web 组件化开发需要从多个方面入手,通过明确目标、合理规划、规范开发、加强测试等一系列措施,实现组件的高效管理和利用,从而提高项目的整体开发效率和质量,为用户提供更好的体验。
27 7
|
26天前
|
开发框架 搜索推荐 数据可视化
Django框架适合开发哪种类型的Web应用程序?
Django 框架凭借其强大的功能、稳定性和可扩展性,几乎可以适应各种类型的 Web 应用程序开发需求。无论是简单的网站还是复杂的企业级系统,Django 都能提供可靠的支持,帮助开发者快速构建高质量的应用。同时,其活跃的社区和丰富的资源也为开发者在项目实施过程中提供了有力的保障。
|
26天前
|
开发框架 JavaScript 前端开发
TypeScript 是一种静态类型的编程语言,它扩展了 JavaScript,为 Web 开发带来了强大的类型系统、组件化开发支持、与主流框架的无缝集成、大型项目管理能力和提升开发体验等多方面优势
TypeScript 是一种静态类型的编程语言,它扩展了 JavaScript,为 Web 开发带来了强大的类型系统、组件化开发支持、与主流框架的无缝集成、大型项目管理能力和提升开发体验等多方面优势。通过明确的类型定义,TypeScript 能够在编码阶段发现潜在错误,提高代码质量;支持组件的清晰定义与复用,增强代码的可维护性;与 React、Vue 等框架结合,提供更佳的开发体验;适用于大型项目,优化代码结构和性能。随着 Web 技术的发展,TypeScript 的应用前景广阔,将继续引领 Web 开发的新趋势。
35 2
|
1月前
|
前端开发 API 开发者
Python Web开发者必看!AJAX、Fetch API实战技巧,让前后端交互如丝般顺滑!
在Web开发中,前后端的高效交互是提升用户体验的关键。本文通过一个基于Flask框架的博客系统实战案例,详细介绍了如何使用AJAX和Fetch API实现不刷新页面查看评论的功能。从后端路由设置到前端请求处理,全面展示了这两种技术的应用技巧,帮助Python Web开发者提升项目质量和开发效率。
52 1
|
1月前
|
XML 安全 PHP
PHP与SOAP Web服务开发:基础与进阶教程
本文介绍了PHP与SOAP Web服务的基础和进阶知识,涵盖SOAP的基本概念、PHP中的SoapServer和SoapClient类的使用方法,以及服务端和客户端的开发示例。此外,还探讨了安全性、性能优化等高级主题,帮助开发者掌握更高效的Web服务开发技巧。
|
1月前
|
安全 数据库 开发者
Python Web开发:Django框架下的全栈开发实战
【10月更文挑战第26天】本文详细介绍了如何在Django框架下进行全栈开发,包括环境安装与配置、创建项目和应用、定义模型类、运行数据库迁移、创建视图和URL映射、编写模板以及启动开发服务器等步骤,并通过示例代码展示了具体实现过程。
59 2
WK
|
1月前
|
安全 Java 编译器
C++和Java哪个更适合开发web网站
在Web开发领域,C++和Java各具优势。C++以其高性能、低级控制和跨平台性著称,适用于需要高吞吐量和低延迟的场景,如实时交易系统和在线游戏服务器。Java则凭借其跨平台性、丰富的生态系统和强大的安全性,广泛应用于企业级Web开发,如企业管理系统和电子商务平台。选择时需根据项目需求和技术储备综合考虑。
WK
83 0
|
1月前
|
JavaScript 前端开发 Java
SpringBoot_web开发-webjars&静态资源映射规则
https://www.91chuli.com/ 举例:jquery前端框架
21 0

推荐镜像

更多
下一篇
DataWorks