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

目录
打赏
0
1
1
0
8
分享
相关文章
【02】做一个精美的打飞机小游戏,python开发小游戏-鹰击长空—优雅草央千澈-持续更新-分享源代码和游戏包供游玩-记录完整开发过程-用做好的素材来完善鹰击长空1.0.1版本
【02】做一个精美的打飞机小游戏,python开发小游戏-鹰击长空—优雅草央千澈-持续更新-分享源代码和游戏包供游玩-记录完整开发过程-用做好的素材来完善鹰击长空1.0.1版本
91 7
|
1月前
|
【01】整体试验思路,如何在有UID的情况下获得用户手机号信息,python开发之理论研究试验,如何通过抖音视频下方的用户的UID获得抖音用户的手机号-本系列文章仅供学习研究-禁止用于任何商业用途-仅供学习交流-优雅草卓伊凡
【01】整体试验思路,如何在有UID的情况下获得用户手机号信息,python开发之理论研究试验,如何通过抖音视频下方的用户的UID获得抖音用户的手机号-本系列文章仅供学习研究-禁止用于任何商业用途-仅供学习交流-优雅草卓伊凡
210 82
基于Python+Vue开发的商城管理系统源码+运行步骤
基于Python+Vue开发的商城管理系统(前后端分离),这是一项为大学生课程设计作业而开发的项目。该系统旨在帮助大学生学习并掌握Python编程技能,同时锻炼他们的项目设计与开发能力。通过学习基于Python的网上商城管理系统项目,大学生可以在实践中学习和提升自己的能力,为以后的职业发展打下坚实基础。
25 7
基于Python+Vue开发的家具商城管理系统源码+运行步骤
基于Python+Vue开发的家具商城管理系统(前后端分离),这是一项为大学生课程设计作业而开发的项目。该系统旨在帮助大学生学习并掌握Python编程技能,同时锻炼他们的项目设计与开发能力。通过学习基于Python的家具商城管理系统项目,大学生可以在实践中学习和提升自己的能力,为以后的职业发展打下坚实基础。
22 8
基于Python+Vue开发的婚恋交友管理系统源码+运行步骤+课程作品
基于Python+Vue开发的婚恋交友管理系统(前后端分离),这是一项为大学生课程设计作业而开发的项目。该系统旨在帮助大学生学习并掌握Python编程技能,同时锻炼他们的项目设计与开发能力。通过学习基于Python的婚恋相亲交友系统项目,大学生可以在实践中学习和提升自己的能力,为以后的职业发展打下坚实基础。技术学习问题可以留言哦
26 9
基于Python+Vue开发的体育用品商城管理系统源码+运行步骤+课程设计
一项为大学生课程设计作业而开发的项目。该系统旨在帮助大学生学习并掌握Python编程技能,同时锻炼他们的项目设计与开发能力。通过学习基于Python的体育用品销售商城管理系统项目,大学生可以在实践中学习和提升自己的能力,为以后的职业发展打下坚实基础。
27 4
【01】仿站技术之python技术,看完学会再也不用去购买收费工具了-用python扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-客户的麻将软件需要下载落地页并且要做搜索引擎推广-本文用python语言快速开发爬取落地页下载-优雅草卓伊凡
【01】仿站技术之python技术,看完学会再也不用去购买收费工具了-用python扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-客户的麻将软件需要下载落地页并且要做搜索引擎推广-本文用python语言快速开发爬取落地页下载-优雅草卓伊凡
73 8
【01】仿站技术之python技术,看完学会再也不用去购买收费工具了-用python扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-客户的麻将软件需要下载落地页并且要做搜索引擎推广-本文用python语言快速开发爬取落地页下载-优雅草卓伊凡
用通义灵码开发一个Python时钟:手把手体验AI程序员加持下的智能编码
通义灵码是基于通义大模型的AI研发辅助工具,提供代码智能生成、研发问答、多文件修改等功能,帮助开发者提高编码效率。本文通过手把手教程,使用通义灵码开发一个简单的Python时钟程序,展示其高效、智能的编码体验。从环境准备到代码优化,通义灵码显著降低了开发门槛,提升了开发效率,适合新手和资深开发者。最终,你将体验到AI加持下的便捷与强大功能。
【02】整体试验思路,在这之前我们发现sec_uid,sec_uid是什么和uid的关系又是什么?相互如何转换?python开发之理论研究试验,如何通过抖音视频下方的用户的UID获得抖音用户的手机号-本系列文章仅供学习研究-禁止用于任何商业用途-仅供学习交流-优雅草卓伊凡
【02】整体试验思路,在这之前我们发现sec_uid,sec_uid是什么和uid的关系又是什么?相互如何转换?python开发之理论研究试验,如何通过抖音视频下方的用户的UID获得抖音用户的手机号-本系列文章仅供学习研究-禁止用于任何商业用途-仅供学习交流-优雅草卓伊凡
80 6
通义灵码AI程序员实战:从零构建Python记账本应用的开发全解析
本文通过开发Python记账本应用的真实案例,展示通义灵码AI程序员2.0的代码生成能力。从需求分析到功能实现、界面升级及测试覆盖,AI程序员展现了需求转化、技术选型、测试驱动和代码可维护性等核心价值。文中详细解析了如何使用Python标准库和tkinter库实现命令行及图形化界面,并生成单元测试用例,确保应用的稳定性和可维护性。尽管AI工具显著提升开发效率,但用户仍需具备编程基础以进行调试和优化。
269 9
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等