国内永久免费CRM系统,2017年人工智能国内领域收购案?
2017年是人工智能大跃进的一年,光是第一季度,就有34家AI创业公司被收购。有很多公司并不知名,一家一家总结也过于繁琐,我在这里对主要的一些收购案做个总结。
2017.01.09 亚马逊收购Harvest.ai
harvest.ai是一家安全公司,创始团队中包括两位前NSA员工,他们用机器学习和人工智能的方式,分析一家公司关键IP上的用户行为,从而识别和阻止有针对性的攻击,防止信息泄露。
harvest.ai的旗舰产品是MACIE Analytics。它使用AI来实时监控一家公司的知识产权被访问情况,评估是谁以及在何时查看、复制或移动特定文档,以便识别可疑的行为模式,在数据泄露事件发生之前就阻止 它。这种服务是打击内部风险的一种方式。据报道,收购价格可能是1900万美元。
2017.01.13 微软收购Maluuba
Maluuba由加拿大滑铁卢大学的在读研究生Kaheer Suleman创办,主要关注机器学习中的两个细分研究领域:对话和机器阅读理解,对话和理解以及通用(人类)智能,比如记忆、常识推理以及资讯搜寻行为。
从性能测试的结果看来,Maluuba智能应用的成绩很优秀。据其在2016年6月发布的论文,他们推出了一款机器月度理解系统EpiReader,这款模型在CNN和CBT两个数据集上的测试均超越了Facebook、Google和IBM。
2017.01.16 Adikteev收购Trademob
Trademob是一家位于德国的移动应用营销平台,它提供了一款可以追踪移动应用推广效果的应用,帮助开发者更好地了解自己的表现。其次,Trademob还与100家广告网络建立了联系,包括Admob、Inmobi、Millennial Media、GDN等,从而借助自动分析和调整参数来提升广告效果。通过这种方式,该公司不仅可以帮助开发者提升用户数量,还可以加强用户的参与度。
2017.01.23 普莉希拉·陈收购AI搜索引擎公司Meta
Meta是一家初创公司,成立于2010年,专注于利用AI和机器学习来筛选前沿的科学研究报告。曾经拿到Google 600万美元的投资,覆盖的领域也更加细分,主要包括了生命科学、医疗等领域。早前,他们主要采取订阅模式或提供个性化解决方案的收费方式,被收购后, Meta的所有产品将会免费提供给所有人。
2017.02.16 百度收购渡鸦科技
渡鸦曾是一家颇具争议的公司,成立后推出了智能硬件控制中枢Raven-1,可以连接智能手机和家庭中的智能家电,公司以设计见长。此次收购由陆奇主导。
2017.02.17 Element.ai收购MLDB.ai
Element.ai这家被称为「加拿大版 YC」的公司旨在通过硅谷式的产业服务帮助创业者,将人工智能的新技术从实验室转化为实用产品,同时也为其他公司构建研究机构提供解决方案。mldb.ai是Element.ai成立以来的第一笔收购。
2017.02.19 苹果收购RealFace
RealFace由Adi Eckhouse Barzilai和Aviv Mader于2014年在特拉维夫创办,他们开发的一款面部识别软件能够提供生物识别登录服务,让用户在登录移动设备或者PC的时候不需要输入密码。当时的收购被认为iPhone可能在新手机上提供面部识别,这在iPhone X上得到了印证。
2017.02.27 Bloq收购Skry
全球企业区块链技术解决方案供应商Bloq,宣布其收购了区块链分析领域的先驱Skry(前身为Coinalytics),以加速其分析能力的发展,并在其平台上打开人工智能(AI)的大门。通过此次收购,Bloq希望增强其分析工具套件,并通过AI和机器学习最大限度地发挥区块链数据组的价值。
2017.02.28 relayr收购Neokami
Relayr由Josef Brunner于2013年创办,总部位于美国波士顿,是一家物联网开发平台提供商,提供一个由任何事物均可任意相连的云平台(任何服务、任何软件、任何平台以及任何传感器)、针对设备快速成型的开源软件开发工具包和工业级的传感器套工具包以及针对制造业、基础设施管理以及零售业的物联网服务组成的研发解决方案。
2017.03.06 亚马逊收购Thinkbox Software
Thinkbox成立于2010年,是一家提供用于管理媒体渲染工作负载软件的公司。Thinkbox的产品包括Deadline渲染管理系统、Krakatoa体积粒子渲染技术、Sequoia点云网格划分工具、草稿图像处理自动化和Xmesh几何缓存系统。亚马逊的这笔收购是为了增强AWS的能力。
2017.03.07 Spotify收购Sonalytic
Sonalytic公司于去年四月成立,推出的专利技术声称能够“以极高的准确度和效率识别单独的歌曲、混音内容和音频片段。
2017.03.27 Spotify收购MightyTV
MightyTV是一家提供电视节目和电影推荐的初创公司。该公司为iOS和安卓系统开发了一款Tinder风格的移动端APP,可以让用户快速标记是否喜欢推荐的节目,并以此来帮助MightyTV根据用户喜好自定义推荐节目。推荐的精准度将随用户使用次数的增加而提高。
2017.04.13 Market Track收购360pi
360pi是一家零售价格和分类追踪公司。
2017.05.14 苹果收购Lattice Data
收购价格为2亿美元。Lattice Data以AI技术驱动,采集非结构化的暗数据(dark data),然后将其进行结构化、有用的信息。
2017.05.25 DataRobot收购Nutonian
DataRobot开发了一种自动化的机器学习平台,可获取数据科学家的知识、经验和最佳实践,并利用这些信息构建和部署预测模型,速度要远远快于以前所能实现的。有了这些模型,分析师就可以从海量数据中发现隐藏的机会并预测结果。
2017.07.05 百度收购KITT.ai
KITT.AI专注语音唤醒和自然语音交互技术,是世界上唯一一家获得亚马逊Alexa和微软联合创始人Paul Allen投资的公司,并入选了CB Insights人工智能创业一百强。
2017.07.06 Certica Solutions收购Unbound Concepts
Certica Solutions是一家云端K-12平台。7月,Certica与一些K-12教育科技销售商合作,宣布了对Unbound Concepts和ItemLogic的收购。Unbound Concepts是一款阅读内容与数据元相结合、简化阅读的工具,而ItemLogic是一个课堂评估和学习内容管理系统。
2017.07.12 Google收购Halli Labs
Halli Labs是一家在印度班加罗尔创立的创业公司,专注于开发深度学习和机器学习系统,解决所谓的“老问题”。
2017.07.13 亚马逊收购GameSparks
收购价1000万美元。游戏开发者可通过GameSparks的API和基于云端的编码工具打造游戏“服务器端功能”。这些功能包括排行榜、实时和基于回合的多人游戏、通知和玩家保存数据。GameSparks拥有跨平台的兼容性,并支持所有主要的引擎和商店,包括Unreal、Unity、PS4、XBOX、iOS、Google Play和Steam等。其客户包括Rovio、育碧、Square Enix和Bandai Namco等大型工作室以及一些独立开发者。
2017.07.21 亚马逊收购Graphiq
Graphiq能够让用户根据话题进行搜索,然后获得有关这一主题的复杂数据集,以一目了然的图表呈现出来。据《洛杉矶时报》报道,亚马逊尤其看重Graphiq收集有关“产品、地点以及人”的数据的能力。
2017.07.25 HubSpot收购Kemvi
Kemvi公司的智能软件通过博客文章、SEC文件、新闻稿和公司网站等方式进行分类,并采取精准营销,帮助销售人员根据客户的需求提供更精准的服务。
2017.08.01 Facebook收购Ozlo
Ozlo由Facebook前设计经理Charles Jolley与火狐浏览器前首席工程师Mike Hanson在2013年创立,总部设在加州帕洛阿尔托,致力于将知识图谱(Knowledge Graph)出售给开发人员。创立之初,Ozlo团队一直在开发一款会话及交互式移动搜索机器人。
2017.08.10 Lyft收购YesGraph和DataScore
YesGraph擅长打造推荐有奖项目,也就是鼓励用户把应用推荐给别人从而获得奖励。DataScore团队则将以增加司机和乘客数量为己任,运用他们在“用户获取、转化和保留项目”上的经验。在被收购之前,DataScore的口号就是:我们致力于帮助创企发展。该公司的旗舰产品是一款“以数据为驱动的营销解决方案”,背后蕴藏着他们的专利技术。
2017.08.15 Meltwater收购Cosmify
Cosmify利用先进机器学习科技深入分析企业数据。
2017.08.16 Workday收购Pattern
Pattern的目标是为销售人员减轻管理客户关系的负担,成立以来,该公司获得了Felicis Ventures,SoftTech VC,First Round Capital和多位天使投资人的支持;去年,这些投资人对其进行了250万美元种子轮投资。
2017.08.17 Google收购AIMatter
AIMatter成立于白俄罗斯,开发有基于神经网络的AI平台及SDK,可帮助在移动设备上快速处理图像,它还有一个基于其技术的图像编辑应用Fabby。
2017.08.17 高通收购Scyfer
Scyfer拥有丰富的机器学习实战经验,已在为制造业、医疗保健、金融等行业提供服务。此次收购高通意欲增强其AI无线技术。
2017.08.23 M-Files收购Apprento
Apprento 是一家加拿大初创公司,使用自然语言处理(NLP)和自然语言理解(NLU)提供语义分析,比如智能摘要。M-Files 销售 SVP Greg Milliken说,收购 Apprento 后,公司马上能以智能方式来处理非结构化数据。
2017.09.07 Cloudera收购Fast Forward Labs
Cloudera是一家开源技术公司,它主要为大型组织提供企业级的产品,而它收购的Fast Forward Labs主要为大公司提供咨询服务,帮助它们利用新兴的机器学习技术加快业务发展。
2017.09.20 HubSpot收购Motion AI
Motion AI成立于2015年,提供可在Facebook Messenger,SMS和Slack上使用的聊天机器人。在此次收购之前,该聊天机器人已经被整合HubSpot免费 CRM系统中。
2017.10.03 亚马逊收购Body Labs
Body Labs成立于2013,能够提供3D人体建模技术。该公司主要为服装零售商提供帮助,更好地向消费者推荐尺码,以减少退货。
2017.12.12 苹果收购Shazam
收购之前,Siri的听歌识曲早就集成了Shazam。2008年,Shazam作为一款应用首次亮相。通过收购Shazam,苹果公司还能够访问有关用户音乐兴趣的大量数据和信息。
2017.12.23 亚马逊收购Blink
Blink创立于2014年,开发的产品有互联式Wi-Fi家庭安全摄像机以及去年12月推出的新型可视门铃。借助无线家庭监控产品,Blink在一次众筹中募集了超过100万美元的资金,自此公司起步。
国内低代码平台有哪些?
随着低代码概念的火热,相关的技术及产品也是层出不穷,不管是老牌行业软件厂商还是开放平台厂商,不论是互联网行业企业SAAS软件新动向还是新兴的低代码创新产品服务,都在第一时间打出了低代码这张牌。各个平台虽然各有优势,但大多又是自成体系,真正在企业方面进行选择时却一时难以抉择。对于低代码平台的功能评价,以及各平台组件间的互联互通则成为了市场上迫切需求。
在刚刚过去的2022年,在平台互联互通的方面,阿里在第二季度推出开源引擎 “LowCodeEngin”,国家队信通院也应市场需求在第四季度推出了《低代码开发平台通用技术要求》,针对低代码相关概念以及功能点新型了进一步的规范和梳理。在全面开放的大背景下,CodeBee团队,推出了基于开源LGPL协议 低代码引擎(LowCodeEngine)。二,产品组成低代码引擎,由界面设计器、OneCode通码框架以及,DSM领域建模工具 三部分支撑体系相互支撑的部分来组成,通过开放标准的组件协议完成相互继承支持。(1) 视图设计器引擎设计器,采用的是拖拽引擎+插件的构造模型,用户可以通过开放的低代码协议编写插件。支持JS和JAVA两种扩展语言。样式构建提供了标准CSS3编辑器,支持事件动作以及函数动态扩展。支持自定义函数库扩展,支持阿里字体图片等资源库。(2)OneCode通码编辑器:OneCode,是一款为低代码语言定制的统一语法体系,采用Java语言作为原生语言,运行在JVM环境中,用户可以通过Java语言与低代码应用进行交互,也可以通过Java语言完成引擎插件,调用代码引擎完成编译部署应用。(3)DSMEngine领域建模:DSMEngine 是独立于设计器的OneCode建模工具,平台采用领域建模模型,支持仓储管理、聚合应用,以及CodeFactory输出为OneCode代码编译输出。DSM模型支持三种建模模式:(1)CodeFrist 代码优先模式通过Java语言 OneCode 模式原生撰写。(2)ViewFrist 视图优先通过视图引擎拖拽完成前期的交互模型,反向完成DSM模型。(3)ModuleFrist 模型优先通过数据库,微服务接口等模式,构建基础模型。DSM逆向转换通过不同方式完成的DSM模型,可以通过OneCode 在视图、Code 、以及Module 三种方式之间自由切换,利用相关工具完成仿真调试以及部署运行。DSM第三方语言转换DSM出码模块采用了独立的模板架构,除了可以以OneCode形式存在,还可以支持独立的出码模块定制独立的第三方语言模型输出。三,设计器引擎介绍(1)功能概览(2)设计器布局设计器引擎是低代码引擎前端的SDK,面向开发人员,他本身不是一套可以适应所有人的低代码平台,而是技术开发人员可以通过扩展插件,周边生态,完成自身业务的定制,实现协同办公,CRM客户管理、物联网平台等通过低代码能力赋能业务系统(3)物料库"物料":低代码引擎的核心目的之一是建设跨行业的低代码框架,而每个行业由于其应用的领域不同,使用的人员以及方法方式不同,在一些底层组件方面会有会有加大差距。比如:政府业务中会大量使用的非规则表单元素,企业应用中各个行业自有的图标体系,物联网行业大量的设备图标图片以及实时联网图。(4)组件库组件定义:可以用于低代码平台的组件,包含了搭建体验增强配置,可以在设计器中 进行拖拽、配置等操作。有两种分类方式:按照场景可以分为基础组件、业务组件、图 表组件、布局组件和复合组件等。通常用户可以自主完成相关设定,并根据业务特点在视图引擎中进行自行扩展(后续章节中会演示实际注册示例)组件通常是一组完成特定功能的可交互组件,根据不同的引擎模式,在引擎中完成加载渲染配置。配置示例Code转换组件调试导入(5)支撑管理公共资源导入(6)样式体系DOM树透视样式盒DOM树透视添加图片注释,不超过 140 字(可选)配图示例代码{ "alias":"BuildTreeTreeView", "key":"xui.UI.TreeView", "host":this, "properties":{ "name":"BuildTreeTreeGrid", "items":[ { "borderType":"none", "caption":"JAVA树", "dynDestory":false, "hidden":false, "id":"getBuildTree", "imageClass":"bpmfont bpmgongzuoliuxitongpeizhi", "tagVar":{ } } ], "iniFold":false, "dynDestory":true }, "CS":{ "KEY":{ "color":"#000000", "font-weight":"lighter", "border-radius":"0px 2px 0px 0px" }, "BAR":{ "font-family":"tahoma,geneva,sans-serif" } } }
动态样式盒添加图片注释,不超过 140 字(可选)代码配置示例{ "alias":"xui_ui_cssbox1", "key":"xui.UI.CSSBox", "host":this, "properties":{ "className":"xui-css-ame", "normalStatus":{ "color":"#eeeeee", "border-radius":"6px", "box-shadow":"inset 0px 1px 0px #87C1DD", "text-shadow":"0 1px 0 #297192", "$gradient":{ "stops":[ { "pos":"0%", "clr":"#4BA3CC" }, { "pos":"70%", "clr":"#3289B2" } ], "type":"linear", "orient":"T" }, "cursor":"pointer", "border-top":"solid #3899C6 1px", "border-right":"solid #3899C6 1px", "border-bottom":"solid #3899C6 1px", "border-left":"solid #3899C6 1px" }, "hoverStatus":{ "border-radius":"0px 3px 0px 0px" } } }
(7)事件框架添加图片注释,不超过 140 字(可选)配置代码示例:{ "alias":"BuildTreeTreeView", "key":"xui.UI.TreeView", "host":this, "properties":{ "name":"BuildTreeTreeGrid", "items":[ { "borderType":"none", "caption":"JAVA树", "dynDestory":false, "hidden":false, "id":"getBuildTree", "imageClass":"bpmfont bpmgongzuoliuxitongpeizhi", "tagVar":{ } } ], "iniFold":false, "dynDestory":true }, "events":{ //获取数据 "onGetContent":{ "actions":[ { "args":[ "{page.ReloadChild.setQueryData()}", null, null, "{args[1].tagVar}", "" ], "desc":"设置扩展参数", "method":"setQueryData", "redirection":"other:callback:call", "target":"ReloadChild", "type":"control" } ] }, //数据项选择 "onItemSelected":{ "actions":[ { "args":[ "{args[1].id}" ], "conditions":[ { "symbol":"non-empty", "right":"", "conditionId":"_nonempty_{args[1].className}", "left":"{args[1].className}" } ], "desc":"删除存在页", "method":"removeItems", "target":"BuildTreeTab", "type":"control" } ] } } }
(8)动作调用功能概览添加图片注释,不超过 140 字(可选)添加图片注释,不超过 140 字(可选)配置实例代码:{ "args":[ "{page.ReloadChild.setQueryData()}", null, null, "{args[1].tagVar}", "" ], "desc":"设置扩展参数", "method":"setQueryData", "redirection":"other:callback:call", "target":"ReloadChild", "type":"control" }, { "args":[ "{page.ReloadChild.invoke()}", "temp", null, "{args[2]}" ], "desc":"子节点装载", "method":"invoke", "redirection":"other:callback:call", "return":false, "target":"ReloadChild", "type":"control" } ] }
(9)插件体系插件是嵌入到设计器的内置管理功能,不同于业务组件,插件更多的是系统极的扩展功能。在实际应用中也比较常见,如系统运行期我们要根据用户不同显示不同内容数据,这就需要权限插件来完成,而业务用户在使用过程也会涉及到大量的业务和数据的流转功能而这些功能则需要动态的来管理页面的属性,甚至动态生成注入页面。这就需要流程插件来辅助完成。 在实际开发过程中特别是真实项目的工程开发时,我们往往要针对工程方面的进行很多的宏操作比如批量的修改特定组件样式,按特定条件检索复制组件特性,自动添加动作等等。这些都需要类似的宏插件来完成,OneCode 在整合后端运行以及服务部署方面也是按插件体系来规范的。分别针对,DSM建模提供了DSM插件,发布管理及运行提供了OPS插件, API整合方面提供了代理服务器插件,系统插件部分采用全开源方式共有需要的用户自行修改方便用户后期可以参照插件体系来修改自身的插件体系。添加图片注释,不超过 140 字(可选)添加图片注释,不超过 140 字(可选)四,OneCode中后台OneCode 本身基于JAVA语言体系,是在Java Spring 注解基础上的一套扩展子集,可以在普通额Java程序中通过添加注解,来实现前后台与低代码引擎的交互处理。(1)渲染原理(2)示例展示添加图片注释,不超过 140 字(可选)(3)完整模块OneCode添加图片注释,不超过 140 字(可选)添加图片注释,不超过 140 字(可选)@Controller @RequestMapping("/admin/org/person/") @MethodChinaName(cname = "人员管理", imageClass = "spafont spa-icon-login") @Aggregation(sourceClass = PersonService.class) public class PersonAPI { @RequestMapping(method = RequestMethod.POST, value = "Persons") @GridViewAnnotation() @ModuleAnnotation( caption = "人员列表") @APIEventAnnotation(autoRun = true, bindMenu = {CustomMenuItem.reload}) @ResponseBody public ListResultModel<List<PersonGridView>> getPersons(String orgId) { ListResultModel<List<PersonGridView>> resultModel = new ListResultModel<List<PersonGridView>>(); List<Person> personList = new ArrayList<>(); try { personList = getService().getPersons(orgId); resultModel = PageUtil.getDefaultPageList(personList, PersonGridView.class); } catch (Exception e) { e.printStackTrace(); } return resultModel; } @MethodChinaName(cname = "人员信息") @RequestMapping(method = RequestMethod.POST, value = "PersonInfo") @NavGroupViewAnnotation() @APIEventAnnotation(callback = {CustomCallBack.ReloadParent, CustomCallBack.Close}, bindMenu = {CustomMenuItem.editor}) @DialogAnnotation @ModuleAnnotation(caption = "编辑人员信息", width = "800", height = "550") @ResponseBody public ResultModel<PersonNav> getPersonInfo(String personId) { ResultModel<PersonNav> resultModel = new ResultModel<PersonNav>(); return resultModel; } @MethodChinaName(cname = "添加人员") @RequestMapping(method = RequestMethod.POST, value = "AddPersonView") @FormViewAnnotation @APIEventAnnotation(bindMenu = {CustomMenuItem.add}, autoRun = true) @Disabled @ModuleAnnotation( caption = "添加人员信息", width = "370", height = "260") @ResponseBody public ResultModel<AddPerson> AddPerson(String orgId) { ResultModel<AddPerson> resultModel = new ResultModel<AddPerson>(); CtPerson person = new CtPerson(); person.setOrgId(orgId); resultModel.setData(new AddPerson(person)); return resultModel; } @MethodChinaName(cname = "保存成员信息") @RequestMapping(value = {"savePerson"}, method = {RequestMethod.GET, RequestMethod.POST}) @APIEventAnnotation(callback = {CustomCallBack.ReloadParent, CustomCallBack.Close}, bindMenu = CustomMenuItem.save) public @ResponseBody ResultModel<Boolean> savePerson(@RequestBody CtPerson person) { ResultModel<Boolean> userStatusInfo = new ResultModel<Boolean>(); getService().savePerson(person); return userStatusInfo; } @MethodChinaName(cname = "删除人员") @RequestMapping(value = {"delPerson"}, method = {RequestMethod.GET, RequestMethod.POST}) @APIEventAnnotation(callback = {CustomCallBack.Reload, CustomCallBack.ReloadParent}, bindMenu = CustomMenuItem.delete) public @ResponseBody ResultModel<Boolean> delPerson(String iD) { ResultModel<Boolean> userStatusInfo = new ResultModel<Boolean>(); getService().delPerson(iD); return userStatusInfo; } PersonService getService() { return EsbUtil.parExpression(PersonService.class); } } @PageBar // @GridAnnotation(event = CustomGridEvent.editor, customService = PersonService.class, customMenu = {GridMenu.Add, GridMenu.Delete, GridMenu.Reload}) public class PersonGridView { @CustomAnnotation(pid = true, hidden = true) String orgId; @CustomAnnotation(pid = true, hidden = true) String roleId; @CustomAnnotation(uid = true, hidden = true) String iD; @CustomAnnotation(caption = "用户名称", required = true) String name; @CustomAnnotation(caption = "账户信息", required = true) String account; @CustomAnnotation(caption = "邮箱") String email; @InputAnnotation(inputType = InputType.password) @CustomAnnotation(caption = "密码", required = true) String password; @CustomAnnotation(caption = "手机") String mobile; @CustomAnnotation(caption = "部门名称") String orgName; public PersonGridView(Person person) { this.iD = person.getID(); this.orgId = person.getOrgId(); this.name = person.getName(); this.account = person.getAccount(); this.password = person.getPassword(); this.mobile = person.getMobile(); this.email = person.getEmail(); Org org = null; try { org = OrgManagerFactory.getOrgManager().getOrgByID(person.getOrgId()); this.orgName = org.getName(); } catch (OrgNotFoundException e) { e.printStackTrace(); } } } @BottomBarMenu @FormAnnotation(bottombarMenu = {CustomFormMenu.Save, CustomFormMenu.Close}, customService = PersonService.class, col = 1) public class AddPerson { @CustomAnnotation(uid = true, hidden = true) String iD; @CustomAnnotation(caption = "用户名称", required = true) String name; @CustomAnnotation(pid = true, hidden = true) String orgId; @CustomAnnotation(pid = true, hidden = true) String roleId; @CustomAnnotation(caption = "账户信息", required = true) String account; @CustomAnnotation(caption = "邮箱") String email; @InputAnnotation(inputType= InputType.password) @CustomAnnotation(caption = "密码", required = true) String password; @CustomAnnotation(caption = "手机") String mobile; public AddPerson(Person person) { this.iD = person.getID(); this.orgId = person.getOrgId(); this.name = person.getName(); this.account = person.getAccount(); this.password = person.getPassword(); this.mobile = person.getMobile(); this.email = person.getEmail(); } }
(五)DSM建模工具DSM建模,百度百科是这样定义的:特定域建模(Domain-specific modeling,DSM),是一种设计和开发系统(如电脑软件)的软件工程方法学。它系统使用图形化特定域语言(DSL),表现系统的各个方面。DSM的语言倾向于支持比通用建模语言更高级别的抽象,因此需要较少的努力和更少的底层细节来描述特定系统。低代码技术应用可以通过提供更强的工具,提升程序员的代码效率。但其本质上也是一种特定场景下的软件描述方法,这个层面上低码技术和DSM思想是有其相通相同之处的,产品在设计之初就将DSM建模语言的构建以及工具支撑作为了底层支撑设计,将应用中积累的建模应用采用DSM的思想进行重构整合在底层打通。我们将现有的资源类的工具,统一到仓库应用中,包括统一的物料库导入,统一的数据源(数据库,外部存储)管理。并通代码工厂的辅助构建统一到Contenxt(OneCode)的当前环境技术模型中。在各个特定的业务模型中,完成独立的聚合实体整合,以及相应的服务管理,并为相关的方法模型透视管理服务。在OneCode 的基础之上,摆脱传统的 代码模板与生成机制。实现代码向模型的逆向能力。将DSM设计能贯穿整个项目开发实施管理过程,打造结余真实的代码之上的建模语言。(1)仓储建模(2)聚合应用(3)视图工厂(4)支撑域添加图片注释,不超过 140 字(可选)(5)流程建模添加图片注释,不超过 140 字(可选)六,应用集成(1)内核最小集合集成(JS离线应用)设计器内核完全采用JS脚本完成,是独立的前端框架。内核版本包括:RAD 页面设计编辑器,xui运行运行脚本两部分。添加图片注释,不超过 140 字(可选)最小集合仅包含,页面设计及器以及插件框架。设计界面集成:下载开源包后,运行debug.html 即可打开编辑器。添加图片注释,不超过 140 字(可选)集成到自由应用时只需要,引入两个关键的js lib包即可集成到自有的应用。<script type="text/javascript" src="/RAD/xui.js"></script> <script type="text/javascript" src="/RAD/index.js"></script> <script type="text/javascript"> var lang = (function () { var dft = 'zh-cn', map = { 'en-us': 'en', 'zh-cn': 'cn' }, n = navigator, l = (n.language || n.browserLanguage || '').toLowerCase(); return map[l] || map[dft]; })(); xui.include("xui.Locale." + lang + '.doc', "/RAD/Locale/" + lang + ".js", function () { xui.Module.load('RAD', function () { SPA = this; }, lang); });
运行支撑环境集成:打开:设计完成的文件再应用环境中引入如下代码即可<script type="text/javascript" src="/xui/js/xui-all.js"></script> <script type="text/javascript" src="./xuiconf.js"></script> <script type="text/javascript" src="/xui/Locale/cn.js"></script>
(2)团队协作版团队协作版是独立的服务器部署版,在官网上申请账号后,可以在独立的服务器上运行。启动后通过浏览器访问 http://demoserver:83 用管理员 sysadmin 登录:首次登录 会进入默认的工程配置界面配置工程关联API设定团队管理员中国有好用的无代码开发平台吗?
分享个开源项目的技术栈,希望可以帮到你~~
推荐个git上开源的快速开发项目,项目采用微服务为基础的脚手架,包括流程、表单、列表、图表、应用等多个界面化的配置引擎。项目介绍:**JVS的核心目标:**让中小型开发团队过得轻松一点,优化开发团队人力成本高、交付效率低、质量不可控、周期不确定、基础技术投入不足、高端技术支持不够等JVS是面向软件开发团队可以快速实现应用的基础开发框架,采用微服务分布式框架,提供丰富的基础功能,集成众多业务引擎,它灵活性强,界面化配置对开发者友好,底层容器化构建,集合持续化构建。项目标签低代码、微服务、支持SaaS、私有化部署、DevOps、开源项目地址框架前端地址:https://gitee.com/software-minister/jvs-ui框架后端地址:https://gitee.com/software-minister/jvs快速安装地址:JVS/jvs-docker-compose体验地址:http://frame.bctools.cn/#/login登陆可以通过微信扫码登陆,对于配置数据,请各位技术同学手下留情。部署文档https://gitee.com/software-minister/jvs-docker-compose/blob/master/readme.md**物理拓扑:技术文档地址(微信登陆可查看):技术栈说明:系统部分截图:登陆页面配置化首页系统基础信息设置框架基础功能应用创建列表配置流程配置表单配置图表配置逻辑配置demo环境:http://frame.bctools.cn/#/login开源地址:https://gitee.com/software-minister/jvs如果还有其他的疑问,可以私信2020年好用的CRM管理系统排名?
2020年好用的CRM管理系统:1、数夫CRM数夫家具CRM,利用信息技术实现客户关系高效管理,以消费者为核心,全周期精准客户营销,全渠道订单管理和高效供应链协同,支持新零售转型的门店管理系统。实现从公海客户到潜在客户、到意向客户、到成交客户、到满意客户、到用户商客户的全周期关系管理。
2、腾讯企点腾讯企点是腾讯开发的一款功能强大的企业社交平台,让企业与客户建立更好的联系方式,专门为企业开发的营销和客户关系管理平台,该软件不仅提升订单转化率,界面也大方友善,而且操作非常容易。3、销售易销售易的产品偏向于集团型企业,业务逻辑设定复杂。因为SaaS行业的特殊性,几乎没有厂商愿意将目光放在中小企业身上,销售易也不例外。不过对于集团型企业来说,销售易绝对算的上是一个非常不错的帮手。4、纷享销客纷享销客是国内比较老牌的一个SaaS应用厂商,在产品建立之初,更加偏向于企业内部的协同化管理,后来才转型发展CRM。因此,纷享销客的CRM具备着协同的基因,对于提升企业内部沟通效率来说,是个比较不错的选择。
5、总管家G6CRM总管家软件是一款根据国际国内最先进的CRM(客户关系管理系统)理论,以客户为中心,实现客户、销售、仓库财务一体化管理软件,采用图形导航,科学规范业务流程,即使不懂软件的人,按照提示,都能按部就班,快速上手。以上是关于2020年好用的CRM管理系统推进,市场中好用的CRM管理系统不少,以上只是其中一部分。具体还要看企业的情况而定。
有赞创立时间?
2012年11月27日
有赞前身是口袋通,是一个基于SAAS模式的免费社会化CRM(微店铺+微粉丝营销)平台,简单而言就是帮商家(目前是中小电商)管理他们的客户,并能通过各类营销手段,产生交易获得订单的工具平台。杭州起码科技有限公司旗下产品。