导航:首页 > 源码编译 > 福源码

福源码

发布时间:2023-07-30 22:21:20

㈠ 企业级快速开发平台哪家更好

这周我差不多花了两个半天的时间进一步研究了下网上的低代码开发平台,也就是原来我们经常说的快速开发平台。研究这个的一个主要原因就是我们看到在新的微服务,DevOps,ServerLess技术,前端新技术的发展趋势下,低代码开发在时隔多年后被再一次的提起。

在微服务和云原生解决方案不断发展的情况下,我们看到当前的云服务已经从最传统的弹性计算和存储能力,提升到了我们常说的PaaS平台层,即提供更多的类似消息,缓存,数据库,中间件,安全,大数据平台等平台层服务能力。

那么我们接着能够考虑的就是再平台层足够强大后,我们的开发能否进一步更加简化,能够实现无代码或少量代码就能够完成一个功能的开发和朝云端的部署上线。比如我们现在看到的亚马逊的公有云提供的ServerLess就是一个典型的场景。你只需要写少量的配置文件或函数方法,就能够完成一个类似网页爬虫,信息搜索,图片存储等互联网功能。

第一:传统的快速开发平台

为了搞清楚低代码开发,我们可以看下在原来我们经常提到的快速开发平台。对于原来我们谈的快速开发平台,我想可以初步分为两种典型的类型。

1. 面向业务人员:完全不需要开发经验,不用接触代码。典型是类似各种BPM高度流程表单可定制产品。

2. 面向技术人员:提供快速开发平台和工具,比如代码自动生成,功能大部分可配置+脚本编写模式。

对于面向业务人员方式的平台往往就是一个高度灵活的空平台,所有的对象,数据,流程,规则,权限等你都可以随意的配置和定制。类似各类BPM产品,但是实际上可以看到这类产品无法开发规则业务复杂的系统。

对于面向技术人员的快速开发平台,类似我们常说的普元,JeeSite, JEPaaS,起步 科技 的PaaS平台等都属于这种类型。但是这种类型的平台本身又细分为了两种,一种是仅仅辅助开发和代码生成,即所有的开发内容都生成代码,脱离开发平台环境也能够成功运行;还有一种就是强绑定,平台很大内容不生成代码,对你黑盒,无法脱离环境运行。

我原来比较强调技术开发类平台是否提供源代码,是否进行强绑定,但是最近思考了下这个反而不是重点,真正重要的还是这个平台对各类场景,各类业务需求下的通用模式抽象能力,这个将直接影响到平台本身的好坏。比如一个平台本身黑盒无法扩展,但是你的业务场景又很难配置出来,那么整个平台的可用性就大大的打折扣。

其次,对于一个快速开发平台,我们可以有一个重要结论:

你对不同业务,不同场景下的通用性适配能力越强大,那么你实际运行的黑盒代码性能就越低。

也正是这个原因,我们看到很大快速开发平台代码臃肿,性能低下,你开发的时候速度倒是快了。但是后续系统的性能完全跟不上,也无法扩展,这些都是要命的问题。

第二:从传统快速开发到低代码开发平台

为了进一步谈我自己对低代码开发平台的理解,我先引用下网上对低代码开发的一些定义和说明。

低代码开发平台是无需编码(0代码或无代码)或通过少量代码就可以快速生成应用程序的开发平台。它的强大之处在于,允许终端用户使用易于理解的可视化工具开发自己的应用程序,而不是传统的编写代码方式。构建业务流程、逻辑和数据模型等所需的功能,必要时还可以添加自己的代码。完成业务逻辑、功能构建后,即可一键交付应用并进行更新,自动跟踪所有更改并处理数据库脚本和部署流程,实现在 IOS,Android,Web 等多个平台上的部署。

低代码开发平台(LCDP)英文全称为Low-Code Development Platform,一个显着的特点是,更多的人可以参与到应用程序开发当中,不仅是具有专业编程能力的程序员,非技术背景的业务人员同样可以构建应用;对于大型企业来讲,低代码开发平台还可以降低IT团队培训、技术部署的初始成本。

从这个定义上面我们可以找到一些关键点,简单总结来说就是

1. 少量代码或者无代码,业务人员也能参与

2. 提供可视化,可配置的工具进行配置和建模

3. 可同时发布到多个平台或终端

4. 提供和云端的持续集成和发布能力,可持续交付,即我们常说的DevOps

对于低代码开发平台和快速开发平台区别,实际我想强调一个重点,我个人认为很重要,即:

低代码开发需要实现从最早的以数据库对象建模方式转变为服务化建模方式。

传统的快速开发平台不论是表单或流程涉及,更多的还是围绕数据库为核心进行,建立的对象可以生成数据库。相关的表单操作也围绕数据库进行。

而在低代码开发时代,我个人更加推荐一个转变,就是基于对象服务化的分层开发模式。这个本身也是更加贴近我当前中台和微服务的构建思路。即你首先去构建你的对象并发布你的服务,然后再考虑如何基于这些发布的服务类构建上层的应用。即我们的开发过程横向拆分为两端。而中间基于服务进行松耦合连接。

即:微服务 + 服务 + 前端应用。

不是简单的我们传统应用拆分小了,而且我们的前端应用模块,后端能力模块也全部微服务化,形成我们当前说的平台+中台+前端应用的分层模式。这种模式如果再和我们当前的DevOps和容器化技术结合,那么整个开发完成的应用就更加容易持续发布和交付,也更加容易在后续继续弹性资源扩展和调度。

目前国内做得最好的电商企业就是天猫和京东了,电子商务行业市场仍然处在“有利可图”的局面,很多创业者通过定制开发电商网店系统来得一块蛋糕。电子商务商城网站开发技术日益成熟,部分拥有专业级商城网站开发技术的外包公司可以在短时间内帮助电商企业定制一个完善功能的网店系统,下面跟随数商云我来了解下网店系统开发什么?

网店系统开发是什么?

商城网站搭建就是网上商城系统开发,是一个可以快速创建商城网站的系统。电商平台开发公司数商云在电商网站开发行业拥有丰富的经验,开发的网店系统拥有傻瓜性的操作特性,可以帮助用户顺利通过轻松的方式快速搭建自己的独立网上电子商务平台。

国内网店系统外包公司哪家好?

就目前国内较为主流的网店系统开发语言来说,使用PHP、JSP和ASP语言开发的网店系统占据了80%以上,并且随着电子商务发展呈现出良好趋势,国内的电商网店系统开发商如雨后春笋一般涌现。然而要说电子商务系统开发业界拥有比较好口碑的商城系统就不能少了数商云开发的电商系统拥有最丰富功能的网店系统,以及海量的网站商城开发模板和丰富的内页设计以供企业选择,是一个真正意义上的免开发、免设计的商城系统开发软件,可以满足许多企业和个人创业者对商城网站或者是网店功能的开发需求。

数商云电商网站平台开发公司致力帮助企业商家和个人创业者花小量的投资,快速搭建专业的全网营销型电子商务商城和APP商城,电商平台解决方案以最快的速度达成产品的销售渠道和企业品牌的强化,帮助电商企业在创业过程实现多样化渠道营销同步。

下面这个是用odoo开发的,算是迷你sap财务,多机构,对账簿,任意核算项目,开源可扩展

JABDP是一款基于引擎模式的web快速开发平台,并采用新颖的低代码的在线开发部署模式,使开发变得更加简单、纯粹,减少web开发中80%的代码量,革命性的提高了开发的效率。常用的功能,例如表单列表的增删改查,只需简单的自定义和配置就能自动生成。复杂的业务功能,只需要会基本的sql语句和javascript语法,就能进行快速开发,满足其个性化的业务需求,设计出各种复杂的企业web应用。既能快速提高开发效率,帮助公司节省人力成本,同时又有效解决企业级项目中常遇到的改需求的问题,不失灵活性。JABDP开发平台适合用于大部分的企业级web应用的开发,尤其适合企业信息管理系(MIS)、企业资源计划系统(ERP)、客户关系管理系统(CRM),业务支撑系统(BSS)等。并且就一些经典的项目案例提取整合出各种类型的项目模板,共享给开发者参考,开发者可以在原有的项目基础上进行修改定制,以打造其个性化的企业信息化平台。JABDP平台有如下特点:

真的是幸福的烦恼呀,根据我们情报数据库监控显示,国内快速开发平台厂商已经多达112家,并且还在扩增当中!

根据笔者的观察,虽然都叫快速开发平台/低代码开发平台,但各家的设计理念和业务擅长相差是很大的:

1、擅长数据填报分析:这类快速开发平台大多采用类excel技术,擅长表单和报表,例如魔方网表、活字格、简道云、云表、狐表....很有趣哈,大多数名字后面都带一个“表”字;

2、擅长复杂业务流程:这类快速开发平台大多基于BPM流程管理平台衍生,对流程引擎的打磨较为专业,java领域的广州天翎、.NET领域的上海易正是我比较看好的代表;

3、擅长网站/APP/小程序定制:起步牛刀云、广州迪西克、深圳世云IVX的产品可以体验一下。

更多低代码平台选型话题欢迎多多交流~

可以用我们公司开发的企业管理平台,邮件管理,客户管理,工厂管理,产品管理,报价管理,订单管理,采购管理,验货管理,出运管理,付款管理,发票管理,库存管理,审批管理,投诉管理,请假管理,报销管理,车辆管理,人事管理,资产管理,业绩考核,等等功能都是现成的,还支持快速的二次开发,有兴趣可以联系我。

这个是开源的,可以看看

Jeecg-Boot 是一款基于SpringBoot+代码生成器的快速开发平台!采用前后端分离架构:SpringBoot,Ant-Design-Vue,Mybatis,Shiro,JWT。强大的代码生成器让前端和后台代码一键生成,不需要写任何代码,保持jeecg一贯的强大,绝对是全栈开发福音!! JeecgBoot在提高UI能力的同时,降低了前后分离的开发成本,JeecgBoot还独创在线开发模式(No代码概念),一系列在线智能开发:在线配置表单、在线配置报表等等

勤哲就挺好,别看它简单易用,但是功能极其强大,它可以帮助企业管理者自主构建信息系统,很不错

分享个开源项目的技术栈


推荐个git上开源的快速开发项目,项目采用微服务为基础的脚手架,包括流程、表单、列表、图

表、应用等多个界面化的配置引擎。

项目介绍:

项目标签


低代码、微服务、支持SaaS、私有化部署、DevOps、


开源项目地址


体验地址:http://frame.bctools.cn/#/login


登陆可以通过微信扫码登陆,对于配置数据,请各位技术同学手下留情。


部署文档
https://gitee.com/software-minister/jvs-docker-compose/blob/master/readme.md
**物理拓扑:



技术文档地址(微信登陆可查看):

技术栈说明:




系统部分截图:

登陆页面


配置化首页


系统基础信息设置


框架基础功能



应用创建


列表配置


流程配置


表单配置


图表配置


逻辑配置

㈡ 如何查找网页的源代码

一、安装和界面

Instant Source是专为IE开发的插件,所以,安装后你在开始菜单找不到启动它的程序。它整合在IE中,如果在你的IE浏览器工具栏上没有发现它的图标,可以通过“查看→工具栏→自定义”添加。

点击IE浏览器工具栏上的Instant Source图标,如图1所示,Instant Source会在IE窗口的下面露出它的真面目,Instant Source几乎所有的功能,都要通过整合在IE中的这个窗口才能完成。
二、查看源代码

Instant Source提供了多种源代码的查看方式,它可以查看整个页面的源代码,也可以查看选定文本的源代码,甚至还可以查看鼠标所指网页元素的源代码。点击工具栏上的“显示”按钮,如图2所示,在菜单上选择“鼠标所指元素”,这样,在IE中,鼠标所指网页元素的源代码就实时地显示在Instant Source窗口中了。
三、编辑源代码

首先需要说明的是,Instant Source对网页源代码的编辑,只适合于本地的HTML网页文件。

在IE中打开一个本地网页文件,在图2中选择“整个页面(原始)”,这时,你会发现,在Instant Source工具栏上的“应用”按钮已变为可用状态,现在,你就可以在Instant Source窗口中编辑该网页的源代码了。编辑完成后,点击“应用”,Instant Source会自动保存该网页并在IE中实时显示。这一功能,对于那些习惯于使用源代码编辑网页的朋友,无疑是一大福音。

四、保存外部对象

在IE中打开“新浪网”首面,在Instant Source工具栏上点击“对象”,打开“页面对象”对话框,你看到了什么?没错,“新浪网”首页中链接到的所有外部对象,包括图像、Flash电影、js脚本、样式表以及链接到的其它网页文件都一览无余
选定一个对象,点击对话框上的“查看”,可以在默认的浏览器中打开该对象;点击“保存”,可以在本地保存该对象,当然了,点击“保存全部”,可以保存所有对象;点击“复制URL”,可以把选定对象的绝对地址复制到剪贴板。不是有很多朋友老问我,怎样才能保存网页上的Flash动画吗,今天把这个软件介绍给你,希望再不要问我这样的问题。

在Instant Source的窗口中,我们可以复制选定的源代码,也可以点击工具栏上的“查找”,在网页源代码中查找你需要的内容。总之,Instant Source是一款对网页制作爱好者非常实用的工具,对于其它网民,你也可以利用它查找并保存网页上的资源。

㈢ 虚拟货币的开源代码时什么意思

你说的那是加密数字货币,源代码子在开源的网站可以查询。也可以去比特币基金会的官方网站去查询比特币的源代码。

网络虚拟货币大致可以分为
第一类是大家熟悉的游戏币。在单机游戏时代,主角靠打倒敌人、进赌馆赢钱等方式积累货币,用这些购买草药和装备,但只能在自己的游戏机里使用。那时,玩家之间没有“市场”。自从互联网建立起门户和社区、实现游戏联网以来,虚拟货币便有了“金融市场”,玩家之间可以交易游戏币。
第二类是门户网站或者即时通讯工具服务商发行的专用货币,用于购买本网站内的服务。使用最广泛的当属腾讯公司的Q 币,可用来购买会员资格、QQ秀等增值服务。
第三类互联网上的虚拟货币,如比特币(BTC)、福源币(FTC)、莱特货币(LTC)等,比特币是一种由开源的P2P软体产生的电子货币,也有人将比特币意译为“比特金”,是一种网络虚拟货币。主要用于互联网金融投资,也可以作为新式货币直接用于生活中使用。

㈣ 国内外低代码开发平台发展情况

本文会分析:

国外:Mendix Outsystems

国内:牛刀 APICloud iVX 搭搭云 氚云 简道云 云表 宜搭云等几家具有代表性的公司

其实,低代码概念由来已久,其实就是“追求少的代码量,完成最多的开发工作”,不管是开发代码的工具还是代码本身都在追求“低代码”。这里面比较难的是如何把握“功能灵活性”和“操作学习简易性”的平衡。

评价“低代码”的标准能做什么?效率如何?(抛开这两点,都是扯淡)

一、能做什么?:主要看逻辑是如何实现的?(特别是工具侧的逻辑实现能力,用代码实现的不算,因为都可以)灵活性如何?

(1)流程图方式:例如:Outsystems是通过流程图的方式来生成逻辑代码部分,他们内部叫做“MicroWave”“NanoWave”,用来分别控制前端和后台的逻辑。这种方式采用公司较多,操作企业对于大型应用还是挺难的,画图这个事对于大应用来讲也不好操作。

(2)事件触发式:例如:iVX(国内的公司),用触发式的事件面板来控制所有交互逻辑。开发起来还是体验不错的,只有他们一家公司这么做。

二、效率如何?

这个就要看整个产品设计理念,开放程度,组件抽象,开发配套,对复杂前后台支持程度。整体来说,综合能力算上,Mendix 、Outsystems 、iVX这三家开发效率最高,如果是算细分领域,例如,就开发一个表单,或开发一个工作流系统,那搭搭云、氚云做的都不错。

下面我们看国内外的“低代码”发展情况

一、国外情况

近两年,随着各种技术整体发展(例如,5G,我不相信有技术是可以完全独立存在和发展的,特别是新技术),不管程序员如何努力,瓶颈却变成了程序员本身。对各种应用的需求越来越大,但是程序员总量有限,培养难度大,应用开发周期长,应用维护成本高,这个矛盾成为了技术和市场发展的主要矛盾,“低代码”概念就是为了解决这个核心问题而生的。“风口”也慢慢指向了“低代码”这一块儿。

国外的几家低代码公司:Salesforce,Mendix,Outsystems,Appian,Joget

(1)进入时间和领域:

这些公司大都成立10年以上,有些都快20年了,这些企业基本上都是从企业应用开发开始做,重点在:表单生成和处理、工作流生成和管理、办公协作这几个领域。还有的是从更专业的企业领域进入“低代码”的,例如财务领域、HR领域、CRM领域等。

结论:低代码短时间是出不来的,要大量的积累和研发,特别是和企业的磨合非常重要。

(2)已经比较成熟:

Salesforce Appian Joget这三家都已经上市,另外两家都是估值10亿美元以上的独角兽公司。

(3)服务和价格:

都非常贵!主要服务大公司500强为主,一个license月都要几千美元。

二、国内情况

国内比较讲究“风口”,这个风口是2019年才吹过来的,所以有挺多新兴创业团队加入“低代码”阵营,也有一些“老牌的”团队转向这个市场。其实主要看他们以前是做什么的?这个对大家理解团队和能力会很有帮助。

按成立时间

老牌团队(10年以上的):牛刀(以前做前端开源框架WeX5),APICloud(以前做App开发打包工具和API模块市场,严格意义上不算低代码工具,算是开发流程管理工具,还涉及到产品、设计、代码管理、项目管理等领域,我就不细说了),iVX(之前做H5、WebApp开发工具的),活字格(利用微软的Excel开发体系,进行二次工具化)

新进团队:“各种”云,但主流都是“表单”“工作流”“协作”这三种出生为主,太新的团队,我觉得做不了这个,因为“低代码”还是研究比较底层技术的领域,太短时间积累不出来。

另外按功能分类

(1)灵活性从高到低 (很多**云,是细分领域开发的,灵活性较差就不放进来了)

iVX ***** 活字格 *** 牛刀 *** 氚云 **

(2)对工作流支持从高到低

搭搭云 **** ClickPaaS *** 氚云 *** iVX *** 宜搭云 **

(3)对表单支持从高到低(这个上面几家都不错,可能是低代码的基础,我就不比较了)

另外,我发现iVX是低代码中比较特殊的,因为,实际上它的开发过程基本上是“0代码”环境的。开发效率和维护也比较容易,而且前身版本是iH5,口碑还不错,大家可以重点关注一下。

宜搭云,是阿里云亲生的,现在虽然刚起步,但是至少说明有巨头已经开始关注这个赛道了,大家也可以持续关注一下。

总体来说,“低代码”发展方向还是非常看好的,毕竟是解放生产力的,但是要做好难度比较大,而且需要长时间的积累。

㈤ 什么代码编辑器比较好用

着名的代码编辑器:Microsoft Visual Studio Code、Github Atom、Sublime text、Adobe Brackets

最推荐的一种:Atom

推荐理由:

链接:如何评价 GitHub 发布的文本编辑器 Atom?

作者:韦易笑

用过不少编辑器:UltraEdit / EditPlus / (G) Vim / GEdit / NotePad++ / TextMate / ProgrammerPad / Sublime 。确实是工作上用他们写过代码的。而 VSC / Emacs 只是体验了一下基本使用方法,算不上真用。用下来的结论是:Atom 比 Vim 更 Vim,比 Emacs 更 Emacs,同样,比 Sublime 更 Sublime。


Atom 唯一的槽点就是“卡”,不过那是去年的情况了,1.0后性能数次大提升,比起sublime/vsc之类虽不算流畅,但同时编辑20个数千行的文件没有压力。如今让人感觉慢的地方主要是启动loading(也大大短于eclipse, idea),使用时并没察觉它比其他编辑器慢再哪。而文本编辑器的快慢,更重要的是“让你工作更快更有效率”。下面说说为何 Atom比其他更有效率:


兼容VIM模式


这无疑团结了一大班 Vim过来的用户,Sublime虽然也有VIM模式,但是Sublime在 mac下面的vim模式有bug,我习惯用 hjkl来移动光标,sublime再mac下hjkl移动有问题,且我习惯CTRL_[来返回NORMAL,手指不离开主键盘区,而sublime的vim模式只支持ESC返回,加上其作者经常神秘消失,最稳定的2.x版本已三年没有更新,这些问题一直得不到修正。


由于Atom的定制程度直追 Vim/Emacs,它的vim模式能够使用插件来实现,而不像sublime必须builtin,Atom的VIM模式除了官方实现外还有很多用户实现,各有所长,你不喜欢可以换,Sublime就傻逼了,觉得builtin的不行,你就没办法了,而且作者不更新你也没办法。


Atom里的Vim模式并不是强制的,你可以用也可以不用,这样入门用户也不会觉得困难,但是如果你用惯Vim的话,使用Vim模式可以取得更好的效率,我觉得Vim/Atom-VimMode能够提升效率的地方有以下三方面:


1. 手指不离开主键盘区:

所有功能皆能在主键盘区完成,不用去按方向键,不用把手挪去按Home/End,更不用动鼠标。就像咏春中强调中线理论,认为一切动作围绕中轴线开展,守护自己中轴线的同时攻击别人的中轴线。Vim/Atom-VimMode中,双手不但从不离开主键盘,并且八根手指随时守护再HOME位(ASDF, JKL;)有动作就移动,然后马上归位。


2. 细粒度微操作:

星际/dota玩的好,微操基本功,微操又快又精确,Vim/Atom-VimMode一样,比如:

if (xxxx) {}

很多人编码时习惯“成对编码”,写了申请资源的代码,先把释放资源写了,写了左括号,先把右括号给补充完,当你写完第二行代码时,需要用到“再1-2行中间插入一行”,此时你的光标停留在第二行,传统编辑器你需要:按上箭头移动光标到第一行 -> 按END键去到第一行末尾 -> 按回车插入一行,mac下的END键还需要用CMD+右来组合出来,而Vim/Atom-VimMode中,你只需要shift+o即可,手指完全不离开主键盘区,不用像传统编辑器那样,右手先移动到箭头区又移动到HOME的小键盘区,再移动回主键盘区这么麻烦,类似还有:

使用o直接再下一行插入,避免 END/回车

使用I再行首插入,避免移动半天光标。

向前/后移动一个单词到单词头、尾。

快速更改当前单词,用/来快速搜索移动光标。

dd+p来快速移动代码块,取代shift+方向键半天。

shift-j 来两行合并成一行,代替 HOME, back 若干次。

。。。

你再编辑代码的时候,90%的情况可以直接一步完成,这就叫细粒度微操,而且整个过程手都不需要离开主键盘,不像传统编辑器那样,若干笨重的操作组合再一起,操作不够细步骤多的同时手还要再:主键盘区,方向键区,扩展键区 来回移动,效率奇低。而Vim/Atom-VimMode下,手指随时守护在home区(ASDF JKL;),所有微操都是围绕HOME区进行,不会移动到任何主键盘以外的区域,更别说用鼠标、触摸板。


3. 批量操作:

比如要给下面代码每行后面加一个分号:

var x = 1var y = 2var z = 3console.log('result is ' + (x + y + z).toString())

一般做法是:移动光标到行末->END->分号->移动光标到下一行,Vim里面不需要移动光标到行末,只需循环敲入:“A;<ESC>j” 即可,本来操作就少很多。这还不是最少操作,更少操作是利用Vim里面的句号“.”功能重复上一次操作,即第一行“A;”补充了一个分号后,第二行只需要按一下"."即可重复,于是最后操作变为:

第一行:A;<ESC>

后面所有行:J.


超级爽快的操作,这样的操作还很多,你还可以单条命令对一万行代码重复上述步骤,或者把c代码拷贝到go里面先一句话把所有分号给删除了。Vim下面的名言:绝不重复。


总之如果你熟悉 VIM模式,用 Atom能感到完全自由的方式,随心所欲的书写代码,而不是被书写这件事情费脑筋,解放大脑完全用于思考而不用于打字。但是同时对不习惯VIM的人照样友好,或者对想使用VIM的便利却又痛恨VIM这个软件的简陋的人带来了福音。


脊椎记忆


“同样动作重复300次,肌肉就会有记忆,而一个动作重复600次,脊椎就会有记忆”
-- 李小龙


编辑器就是关于脊柱记忆的东西,所以多投入一些时间去了解你使用的编辑器,掌握他们的各种快捷操作和高级功能是一个能让你事半功倍的好主意。


格斗游戏玩的好的人有很多,下等高手靠熟练,中等高手靠反应,上等高手靠意识。更熟练的掌握你的编辑器,让更多日常工作固化成记忆记录再你的脊椎上,使用的时候,脊椎这枚协处理器就能完成代码编写,一个操作,刚一想到,脊椎就自动执行出来了,小脑腾出空间来组织判断,大脑腾出空间来思考更重要的东西,就像你走路,你不用思考迈腿那么自然,别人一拳过来,你潜意识一动,一连串动作就出去了,一只飞蛾飞过来,你潜意识的闭上眼睛保护眼部,这就是脊椎记忆,如果还要经过大脑绕一圈,反应慢不说,大脑这颗cpu都用在这些琐事上了,思考的时间自然少了不少。


所以从内到外的了解你的编辑器,并且熟练掌握他们,是对你提高工作效率的最佳投资,Atom的全平台支持,开放源代码,深度可定制等三个特点,比起其他闭源的,平台支持不全的,扩展少的编辑器来说能让你有不同层面的了解机会,同时为你提供足够的空间。


深度可定制系统


Vim/Emacs的精髓在于:“可以调教”,本来不顺手的东西,只要容易调教,假以时日,都会慢慢变得越来越顺手,越来越“懂你”,越来越“贴心”,以至于后面大家都离不开它了。而 Atom 也同样是一款容易被你调教的编辑器。先前给vim写过插件,给sublime写过插件,如今给Atom写过插件,横向对比下来,几个结论:


插件能做事情多少:Atom > Vim >> sublime

插件开发学习门槛:Vim > Atom > sublime

插件开发文档丰富:Atom > sublime >> Vim


Atom 的定制化程度远远高过sublime之类(不用实际看法,看看双方开发文档即可),直追 Vim / Emacs,sublime的大部分定制无外乎改改json,插件能做的事情相当有限。


Atom 的定制化系统主要有三方面:


1. 细致:

设计之初就考虑的事情,方方面面都能定制,见官方文档,以及插件:vim-mode,minimap (稍微了解下这两个类似的功能再 Atom 和 sublime的实现就能知道 sublime被甩了多少条街了)。可以细粒度的控制编辑器内所有行为,小到移动一下光标,删除当前一个字符,大到打开一个面板,比如 “core:more-up” 可以向上移动一行光标,“window:focus-pane-on-left” 可以把焦点设置到左边的面板,atom内核和大量第一方第三方packages 都是以命令的方式把基础功能提供出来,你可以随意互相调用或者设置热键。

除去命令外的API层面,几乎每个部件每个像素点都可控,比如这样的插件你永远无法再 Vim / Emacs / Sublime 下面见得到:activate-power-mode。


2. 直观:

由于使用 javascript/coffee进行开发,但 javascript/coffee是属于即便你没写过他们,读都能读得懂,VimScript就不一样了,虽然也能做相同的事情,但实话实说,晦涩难写,比如我要取得当前文件的路径和文件名,在 VimScript里面需要这么写:

let l:path = expand('%:p:h')let l:name = expand('%:t:r') 或者 let l:name = expand('%<')

而在 Atom 里我们用atom自己的功能直接取出路径来,然后进行切割:

var fullpath =atom.workspace.getActiveTextEditor().getPath();var filename = path.basename(fullpath);var filepath = path.dirname(fullpath);

就问大家一下?哪段代码更友好直观?你一眼就知道在做什么?你更愿意用按照哪段代码进行插件开发?是上面的VimScript?还是下面的 javascript ?


结论是很清晰的,Atom的 javascript开发插件更简单直观,即便没文档,看别人怎么写的自己也会了,同时灵活性大大高于VmScript,各种事件处理回调,javascript天生擅长做这些事情,还有第二行,第三行,我们用到了 node.js 的 path模块,进行文件路径切割。这样的写法,再VimScript 里面基本是无法想象的。


Vim是强大,但是毕竟是30年前的东西了,即便最熟练的 Vimer 也都承认 VimScript 的晦涩难懂,阻碍了很多人为其开发插件。而给Atom开发插件,只需要掌握javascript,掌握 javascript的人很多,学习了javascript你也可以用在很多地方。不像VimScript那样只能用在Vim里面,而正因为其晦涩,Vim新版本开始支持内嵌 python的写法:

python << EOF
import random
print random.randint(0,10)EOF


VimScript中 Python等动态的支持正是说明其开发维护者也承认 VimScript本身的古老,对比现代编程语言已经有些格格不入了,缺乏强大的描述能力,难以构建复杂的功能模块,才会去支持Python内嵌这样的写法。可大量的工作还是需要再Python之外完成,同时,并非所有平台自带的Vim都支持python,除了mac外,所有debian / ubuntu 发行版自带的Vim都不支持 Python。导致你想写一个通用的扩展还得判断下是否 has('python') 没有的话老老实实用 VimScript 去实现它,这不是折磨人么?


Sublime里面可以用原生 Python 写扩展,比 VimScript爽,但是 sublime 的插件能做的事情还不及VimScript的一半,所以怎么能指望他们能写出高端的功能来呢?


3. 强大:

Atom的内核 Electron (原来的 Atom-shell)可以理解成:Chromium + Node.JS,而整个Atom的界面,你可以理解成就是一颗 HTML 的 DOM 树结构,这意味着你可以这样:

var div = document.createElement("div"); div.innerText = "abc"; atom.workspace.addBottomPanel(div);

就可以简单的在 atom 里面增加一个显示对象,这意味着再给div加个 html的 onclick就可以实现GUI交互,界面上的对象随便写点html代码就可以控制效果,意味着你可以使用 jQuery 来为atom增加新面板,意味着你只需要写一个简单的 .css 文件就可以把 Atom 整个编辑器的外观给修改了。这在 Vim/Emacs 中是几乎不可想象的事情,sublime基本就别提了。


大量的前端开发技术和 Node.JS 基础模块供你任意使用,正是由于近年 Chromium / node.js 系列技术的成熟,和 Atom / Visual Studio Code 这类基于前端技术的客户端软件的成功,让我看到了客户端(桌面+移动)软件开发的新方向。


做VIM/Emacs不能做的事情


Vim/Emacs过去给人的映像是:几乎能做任何事情,确实如此,但毕竟是二三十年前的东西了,而他们一直坚挺到现在一方面是操作便利,更重要的是这么长时间还没有出现一款又开源又具备同样操作便利性和可扩展性的编辑器,所以Vimer, Emacser 们最乐意展示给别人看的就是他们又安装了什么插件,急于展示可以把 Vim / Emacs 装扮成了一个多像 IDE 的东西,而今天这个“可以做任何事情”的高度可定制特性已经被Atom所吸收并完全超越,就像 Atom 的开发blog:“ Introcing Atom” 上说的一样,对易用性和可展性 “决不妥协” :

We think we can do better. Our goal is a zero-compromise combination of hackability and usability: an editor that will be welcoming to an elementary school student on their first day learning to code, but also a tool they won't outgrow as they develop into seasoned hackers.


抛开易用性的这个 Atom 的明显优势不说,前面其实已说了不少 Atom 比 Vim/Emacs 更灵活强大的地方,可能有些人还有疑惑,不是说 Emacs “没有不能做的事情” 么?你看 Atom的面板里面可以嵌入一个 Terminal,Vim/Emacs一样可以嵌入啊,为何还说 Atom 比它强啊?


没错,Vim用久了会产生心理舒适区,多模式编辑使人神清气爽,命令化文本处理让你赏心悦目,但是受限于本身机制用久了会容易痛苦挣扎:虽然vim的各种扩展似乎什么事情都能做,但每个扩展却只能做到70分,总有那么30%的地方做不到位。所以用的时间长了,上半身爽的要死,下半身痛不欲生。。。。


Vim/Emacs即便大部分扩展功能也都可以称为“能用”,可几十年的历史包袱太沉,很多事情对他们来讲就是禁区,比如诡异的标签功能,容易误操作的buffer/窗口切换,缺乏异步机制,编译时间长只有傻等着,无法跟Atom一样边读代码,边运行程序看结果,对照输出结果和源代码找问题,连实现个内嵌终端都用了若干年,还实现的那么别扭。。。。。。。。。


这类硬伤有许多,再举个最简单的例子,minimap,就是 sublime那种大家喜欢的文档缩略图,这个现代编辑器必备的功能,谁能用 Vim/Emacs 实现一下看看?Atom 可以衍生出 Visual Studio Code 这样漂亮的编辑器,Vim/Emacs能衍生么?Atom可以随便用各种先进的前端技术,不当可以嵌 Terminal我甚至可以再 Atom 嵌入一个 js版本的 DOSBOX 玩老游戏《命令与征服》:

https://archive.org/details/softwarelibrary_msdos_games

Play DOS games online


当然这样并没有任何卯用,但是如果在 Atom里面内嵌一个浏览器,方便的实时预览html/css的效果呢?或者 Atom 里面内嵌一个 Markdown Previewer ,实时查看 Markdown 的效果呢?请问 Vim/Emacs 里怎么实现法?


Atom插件演示:markdown实时预览,左边写右边即时更新,100%兼容github的markdown语法


短短两年的时间,这么多优秀的插件,只想说,如今 Atom 作为 Vim/Emacs 的继承者和超越者出现了,所以社区对 Atom 的反应也是热烈的,看看下面一组数据,截止今天(2016年3月15日),Atom共有扩展插件 3500+ 个,发布不到两年的时间,这是什么概念呢?

阅读全文

与福源码相关的资料

热点内容
win7美化命令行终端 浏览:797
免加密狗图片 浏览:485
一只透明的鸟是什么app 浏览:817
空气压缩机油批发商 浏览:69
linuxifexist 浏览:4
加密tf卡拷入文件 浏览:399
山西php工资 浏览:673
福州看病预约用什么小程序app 浏览:238
php保留两位小数不四舍五入 浏览:292
黑马程序员路径大全 浏览:1000
saas平台PHP 浏览:333
云服务器科学计算配置怎么选 浏览:649
jar解压命令 浏览:609
php正则问号 浏览:299
无线已加密不可上网是怎么了 浏览:464
什么app可以免费做手机 浏览:376
异性下载什么app 浏览:680
51单片机程序单步视频 浏览:241
家庭宽带如何连接服务器 浏览:122
汽车高压泵解压 浏览:772