0基础必读!用Python的视角快速理解【组装式开发】

简介: 拒绝高大上,这应该是你听过关于【组装式开发】最接地气的解释!

前言


最近阿里云新推出了一个【组装式应用集成开发平台】叫做“云巧”,我从官网下载了白皮书了解了下(官网地址:https://gts.work/portal/yunqiao?spm=a2c6h.12873639.article-detail.6.5a81e4fc4QxPZl),可以从下图看出,云巧集成的功能还是蛮强大的。

image.png

只是【组装式开发】这个新概念可能很多人会感到困惑,正好我主要是做Python数据挖掘方向的,这里我想拿最简单的编程语言之一——Python举例,来带大家简单理解【组装式开发】。


在正式介绍这个概念之前,请允许我先讲一个自己的小故事。


一、我的代码Copy简史


我相信大家都有过部分功能开发不出来,问了身边的大佬也没有很好的解决方案,不得不面向谷歌编程,Copy一下别人代码的经历,作为一个键盘上只有3个按键的伪程序员(如下图),我的Copy经历大致经历了以下5个阶段的发展:

6280f626856b6232c7adb4e865ab4a9b.jpeg


1、【Ctrl C+Ctrl V】阶段

一开始是完全靠自己写代码,从最基础的import numpy as np开始一点一点码,通过搜索引擎到CSDN、Stackoverflow等知名“救火”平台查找解决方案,但毕竟是别人的代码,每次使用都还要从头到尾去学习每一行的功能,可以说效率非常低下,缺点一大堆:机型和环境适配差,80%的解决方案都只有代码却没有接口文档,并且根本不会告诉你相关依赖库,而针对自己实际情况的提问又很难得到回答……


2、【封装代码库】阶段

后面随着不断学习,发现其实有很多大佬开发的、比基础Python库更高级的封装库,比如能够调用SQL来处理Dataframe的sqldf、中文分词jieba、能绘制出超级棒图表的pyecharts等。


这些库基本覆盖了Python基础库无法处理的所有问题,使用时也不用去学习源代码每一个函数的耦合关系是怎样的,并且很多Github高星的库会有官方文档,实在不行你还可以根据自己的问题在Github的Issues找到答案。

image.png

不过还是有问题,因为不同函数的参数不同,学习成本依然比较高,遇到特别困惑的还是得去一点一点去看官方文档,很多官方文档虽然很棒,但还是有一定的学习难度。

image.png

除了【封装代码库】以外,我在这个阶段还接触到了一个神奇的IDE——Jupyter Notebook,它最大的特色就是写代码像堆积木一样,每一个区块你可以指定它实现的功能,我以后Copy别人代码就只用Copy自己用得到的功能就行,也方便了我调试,一些最基础的数据清洗工作我也能够通过复制Cell实现快速复用。

image.png


3、【Docker+API】阶段

如果要问一个windows平台的程序员最痛苦的时候是什么,那一定是【搭建环境】,当linux平台的开发者通过一行sudo apt install XXX一步搞定环境的时候,我还在改windows的环境变量。

image.png

并且由于每次我使用新的第三方库都需要安装新的依赖库,导致我的Python原生编译器已经被各种第三方库占满了,可又不知道哪个有用哪个没用,所以我一直期望有一款神奇能够一键解决开发环境问题,直到我遇到了Docker


Docker我相信大家都知道,它通过容器封装了运行代码所需要的全部环境、依赖、源码,想要实现某个功能,可以说是直接Docker pull就能够解决,并且学习成本比上面的方案还要更低。


不过Docker还是存在一个问题,那就是很多容器都很大(几个G)左右,虽然在千兆网下下载用不了多久,但可能大家还是好奇:


“有没有不用下载,不用怎么学习就能够直接用的Copy别人代码的方法?”


那就是API,API我相信大家都很熟悉,这里就不详细介绍了,仅需要一个接口文档,就能够在开发者平台调用N多种功能,最重要的是API的学习成本应该是最低的,如果你觉得难,那应该是要实现的功能比较复杂,可以看到某地图的API,一行JS代码,0技术基础调用起来都非常简单。

image.png


4、低代码/无代码

我很长一段时间都以为,Docker+API调用就是Copy别人代码的究极形态了,但我一直没有考虑到一个问题:上面3个Copy别人代码的过程都是面向技术人员的,有没有非技术人员也能够自由搞开发的方式?


如果有的话,那一定是【低代码/无代码】,比如钉钉宜搭,看不到半句代码,全都是人类语言,不需要设置参数和管理接口,只需要拖动模块就能够像搭积木一样构建起一个Web应用,因为界面设计简单,我司的HR就使用过它搭建过疫情管理应用,并且还不需要类似DevOps、敏捷开发之类的工程管理思想,上线即可用。

O1CN01f2Yson1qa5TQnWOlj_!!6000000005511-2-tps-2292-1148.png

可惜的是,【低代码/无代码】唯一的缺点就是目前适用范围很小,并且生态相对封闭,导致能够实际开发的应用比较少。


二、回到【组装式开发】

上面说了这么多,你可能会问:“这上面的这些到底跟组装式开发有什么关系啊?”


其实,在我开来,组装式开发可以说得上是继【低代码/无代码】之后“Copy别人代码”的第五阶段,它可以说是囊括了上面这些Copy方式的大部分优点,改进了很多缺点。


比如:

组装式开发能够像【API】一样,不需要懂源码,就能够直接调用,也可以像最原始的【Ctrl+C和Ctrl+V】一样,你能够克服【低代码/无代码】的缺点,查看到源码实现高度定制化。

组装式开发开发过程就像【Jupyter Notebook】一样,所有的关键功能都可以像拖积木一样加入你的开发过程中而无需太高的学习成本,环境问题也不用担心,组装式开发像【Docker】一样提供了镜像。

……

41501eee62a44542a16b0a18f781b97c.png

如果你要问我“组装式开发”有什么缺点,我个人觉得组装式开发就像开发领域的瑞士军刀,汇聚了很多功能,基本上能解决大部分问题,我们不再需要去学习底层代码及其接口文档(至少对我这种低级程序员来说是这样的),可汇聚了这么多功能的平台学习起来应该不会太简单。


最后,我一直觉得组装式开发只不过是代码协作开发的一个新阶段而已,无需用太多复杂的修辞去描述它,毕竟工具只是手段,技术需求才是目的,如果把代码开发比作一场战斗的话,尽管现在很多人手里的家伙已经换了一轮又一轮,但总有人还是喜欢用最朴素的方式去解决技术问题。

image.png

目录
相关文章
|
4月前
|
API C++ 开发者
PySide vs PyQt:Python GUI开发史诗级对决,谁才是王者?
PySide 和 PyQt 是 Python GUI 开发领域的两大利器,各有特色。PySide 采用 LGPL 协议,更灵活;PyQt 默认 GPL,商业使用需授权。两者背后团队实力雄厚,PySide 得到 Qt 官方支持,PyQt 由 Riverbank Computing 打造。API 设计上,PySide 简洁直观,贴近原生 Qt;PyQt 增加 Pythonic 接口,操作更高效。性能方面,两者表现优异,适合不同需求的项目开发。选择时可根据项目特点与开源要求决定。
324 20
|
6月前
|
前端开发 JavaScript 关系型数据库
基于Python+Vue开发的商城管理系统源码+运行步骤
基于Python+Vue开发的商城管理系统(前后端分离),这是一项为大学生课程设计作业而开发的项目。该系统旨在帮助大学生学习并掌握Python编程技能,同时锻炼他们的项目设计与开发能力。通过学习基于Python的网上商城管理系统项目,大学生可以在实践中学习和提升自己的能力,为以后的职业发展打下坚实基础。
196 7
|
2月前
|
数据采集 存储 数据库
Python爬虫开发:Cookie池与定期清除的代码实现
Python爬虫开发:Cookie池与定期清除的代码实现
|
3月前
|
人工智能 搜索推荐 数据可视化
用 Python 制作简单小游戏教程:手把手教你开发猜数字游戏
本教程详细讲解了用Python实现经典猜数字游戏的完整流程,涵盖从基础规则到高级功能的全方位开发。内容包括游戏逻辑设计、输入验证与错误处理、猜测次数统计、难度选择、彩色输出等核心功能,并提供完整代码示例。同时,介绍了开发环境搭建及调试方法,帮助初学者快速上手。最后还提出了图形界面、网络对战、成就系统等扩展方向,鼓励读者自主创新,打造个性化游戏版本。适合Python入门者实践与进阶学习。
270 1
|
3月前
|
存储 算法 数据可视化
用Python开发猜数字游戏:从零开始的手把手教程
猜数字游戏是编程入门经典项目,涵盖变量、循环、条件判断等核心概念。玩家通过输入猜测电脑生成的随机数,程序给出提示直至猜中。项目从基础实现到功能扩展,逐步提升难度,适合各阶段Python学习者。
173 0
|
5月前
|
程序员 测试技术 开发工具
怎么开发Python第三方库?手把手教你参与开源项目!
大家好,我是程序员晚枫。本文将分享如何开发Python第三方库,并以我维护的开源项目 **popdf** 为例,指导参与开源贡献。Popdf是一个PDF操作库,支持PDF转Word、转图片、合并与加密等功能。文章涵盖从fork项目、本地开发、单元测试到提交PR的全流程,适合想了解开源贡献的开发者。欢迎访问[popdf](https://gitcode.com/python4office/popdf),一起交流学习!
199 21
怎么开发Python第三方库?手把手教你参与开源项目!
|
3月前
|
数据采集 存储 监控
抖音直播间采集提取工具,直播间匿名截流获客软件,Python开发【仅供学习】
这是一套基于Python开发的抖音直播间数据采集与分析系统,包含观众信息获取、弹幕监控及数据存储等功能。代码采用requests、websockets和sqlite3等...
|
5月前
|
前端开发 JavaScript 关系型数据库
基于Python+Vue开发的美容预约管理系统源码+运行
基于Python+Vue开发的美容预约管理系统(前后端分离),这是一项为大学生课程设计作业而开发的项目。该系统旨在帮助大学生学习并掌握Python编程技能,同时锻炼他们的项目设计与开发能力。通过学习基于Python的美容诊所预约管理系统项目,大学生可以在实践中学习和提升自己的能力,为以后的职业发展打下坚实基础。
89 9
|
5月前
|
JavaScript 前端开发 关系型数据库
基于Python+Vue开发的体育场馆预约管理系统源码+运行
本项目为大学生课程设计作业,采用Python和Vue技术构建了一个体育场馆预约管理系统(实现前后端分离)。系统的主要目标在于帮助学生理解和掌握Python编程知识,同时培养其项目规划和开发能力。参与该项目的学习过程,学生能够在实际操作中锻炼技能,为未来的职业发展奠定良好的基础。
129 3
|
5月前
|
前端开发 JavaScript 关系型数据库
基于Python+Vue开发的摄影网上预约管理系统源码+运行
基于Python+Vue开发的摄影网上预约管理系统(前后端分离),影楼婚纱摄影,这是一项为大学生课程设计作业而开发的项目。该系统旨在帮助大学生学习并掌握Python编程技能,同时锻炼他们的项目设计与开发能力。通过学习基于Python的在线摄影预约管理系统项目,大学生可以在实践中学习和提升自己的能力,为以后的职业发展打下坚实基础。
93 8

热门文章

最新文章

推荐镜像

更多