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

目录
相关文章
|
1月前
|
存储 数据库连接 API
Python环境变量在开发和运行Python应用程序时起着重要的作用
Python环境变量在开发和运行Python应用程序时起着重要的作用
86 15
|
5天前
|
IDE 测试技术 开发工具
10个必备Python调试技巧:从pdb到单元测试的开发效率提升指南
在Python开发中,调试是提升效率的关键技能。本文总结了10个实用的调试方法,涵盖内置调试器pdb、breakpoint()函数、断言机制、logging模块、列表推导式优化、IPython调试、警告机制、IDE调试工具、inspect模块和单元测试框架的应用。通过这些技巧,开发者可以更高效地定位和解决问题,提高代码质量。
67 8
10个必备Python调试技巧:从pdb到单元测试的开发效率提升指南
|
1月前
|
设计模式 前端开发 数据库
Python Web开发:Django框架下的全栈开发实战
【10月更文挑战第27天】本文介绍了Django框架在Python Web开发中的应用,涵盖了Django与Flask等框架的比较、项目结构、模型、视图、模板和URL配置等内容,并展示了实际代码示例,帮助读者快速掌握Django全栈开发的核心技术。
185 45
|
19天前
|
存储 API 数据库
使用Python开发获取商品销量详情API接口
本文介绍了使用Python开发获取商品销量详情的API接口方法,涵盖API接口概述、技术选型(Flask与FastAPI)、环境准备、API接口创建及调用淘宝开放平台API等内容。通过示例代码,详细说明了如何构建和调用API,以及开发过程中需要注意的事项,如数据库连接、API权限、错误处理、安全性和性能优化等。
73 5
|
1月前
|
JSON 安全 API
如何使用Python开发API接口?
在现代软件开发中,API(应用程序编程接口)用于不同软件组件之间的通信和数据交换,实现系统互操作性。Python因其简单易用和强大功能,成为开发API的热门选择。本文详细介绍了Python开发API的基础知识、优势、实现方式(如Flask和Django框架)、实战示例及注意事项,帮助读者掌握高效、安全的API开发技巧。
206 3
如何使用Python开发API接口?
|
1月前
|
机器学习/深度学习 人工智能 关系型数据库
Python开发
Python开发
40 7
|
1月前
|
前端开发 安全 数据库
使用Python开发独立站的全面指南
本文详细介绍了如何使用Python及其Web框架Django和Flask快速搭建功能完善、易于管理的独立站。从Python和Web开发基础讲起,逐步覆盖环境搭建、项目创建、数据库设计、视图与URL路由、模板创建、表单处理、测试调试、部署优化及安全维护等内容,旨在帮助开发者高效构建稳定的Web应用。
72 1
|
1月前
|
缓存 API 数据库
Python哪个框架合适开发速卖通商品详情api?
在跨境电商平台速卖通的商品详情数据获取与整合中,Python 语言及其多种框架(如 Flask、Django、Tornado 和 FastAPI)提供了高效解决方案。Flask 简洁灵活,适合快速开发;Django 功能全面,适用于大型项目;Tornado 性能卓越,擅长处理高并发;FastAPI 结合类型提示和异步编程,开发体验优秀。选择合适的框架需综合考虑项目规模、性能要求和团队技术栈。
27 2
|
1月前
|
存储 API 数据安全/隐私保护
Python开发淘宝详情API的深入探索
通过Python开发淘宝详情API,你可以高效地获取商品信息,为电商运营和市场分析提供强有力的数据支持。本文详细介绍了注册开发者账号、获取API密钥、构建请求、解析响应数据等步骤,并探讨了相关的注意事项和最佳实践。希望这些内容能够帮助你更好地理解和使用淘宝开放平台的API接口,实现你的业务需求。
39 1
|
1月前
|
JSON API 数据格式
如何使用Python开发1688商品详情API接口?
本文介绍了如何使用Python开发1688商品详情API接口,获取商品的标题、价格、销量和评价等详细信息。主要内容包括注册1688开放平台账号、安装必要Python模块、了解API接口、生成签名、编写Python代码、解析返回数据以及错误处理和日志记录。通过这些步骤,开发者可以轻松地集成1688商品数据到自己的应用中。
40 1