前几年看过一个快捷开发多端应用的技术文档。最近重新翻看,发现技术升级的更便捷,所谓敏捷开发。
技术选型
Node.js为后端,uniapp+unicloud+阿里提供的Serverless,可以做到一站式,全端开发。一次开发可以发布到十几个不同的平台上面,包括H5、微信小程序、安卓App、Ios App、抖音小程序、支付宝小程序、快手小程序等等。
尝试开发了一个时间线+卡片笔记,类似于memos的,用于随手记录信息的小应用。并生成安卓App。
线上地址:[http://me.shangbei.ltd](http://me.shangbei.ltd)


后端就用免费提供的serverless服务,不用自己配置服务器环境,不担心攻击,甚至不用操心费用。就很香。虽然免费(开发版)所提供的资源有限,放一个随手记录的小应用,绰绰有余。2G的数据库,大约可以存储一百万的文字内容。还有5G的云空间。也可以放约五千张照片。

两会其间,李彦宏说未来人人都是程序员,我对这个观点深表同意。不仅这两年AI的加持。几年前决定从医院信息科科长辞职,有一部分就有这个考虑。未来程序员贬值程度和现今学历贬值进度相似。从18年开始,就感觉技术的难度在下降。开发的便利性在加强。低代码等技术也就是那年开始的。技术迭代的速度加速,一个技术的文档还没研究完,新的技术就已经替代了。
用百度的AI尝试让它使用uniapp开发一个报名程序,输入关键字之后,几秒钟时间,就给我写好了。正常来说,我手写的话,需要几十分钟,并且不能保证不出错。但AI用了几秒,写出来的逻辑严谨,错误处理状态,注释的完整性,都比人强。
```
<template>
<view class="container">
<view class="input-group">
<text class="input-label">姓名</text>
<input class="input-field" v-model="name" type="text" placeholder="请输入姓名" />
</view>
<view class="input-group">
<text class="input-label">手机号码</text>
<input class="input-field" v-model="phone" type="tel" placeholder="请输入手机号码" />
</view>
<view class="input-group">
<uni-data-checkbox v-model="group" :localdata="range" @change="change"></uni-data-checkbox>
</view>
<!-- 使用 v-if 控制亲子组输入框的显示与隐藏 -->
<view class="input-group" v-if="showKidInput">
<text class="input-label">孩子姓名</text>
<input class="input-field" v-model="kidName" type="text" placeholder="请输入孩子姓名" />
</view>
<button class="submit-btn" @click="submitRegistration">提交报名</button>
</view>
</template>
<script>
export default {
data() {
return {
name: '',
phone: '',
group: '', // 初始组别
range: ['man', 'woman', 'faimiy'], // 组别选项
showKidInput: false, // 是否显示亲子组输入框
kidName: '', // 孩子姓名
}
// clothesSize: '', // 初始衣服尺码
},
methods: {
change(e) {},
onGroupChange(event) {
// 当组别发生变化时检查是否为亲子组
if (event.detail.value === '亲子组') {
this.showKidInput = true; // 如果是亲子组,则显示输入框
} else {
this.showKidInput = false; // 如果不是亲子组,则隐藏输入框
this.kidName = ''; // 清空输入框内容
}
},
async submitRegistration() {
// 调用后端云函数进行报名
try {
const res = await uniCloud.callFunction({
name: 'baoming', // 云函数名称
data: {
name: this.name,
phone: this.phone,
group: this.group,
// clothingSize: this.clothingSize.clothingSizes
}
});
// 处理报名结果
if (res.result.code === 200) {
uni.showToast({
title: '报名成功',
icon: 'success'
});
// 可以选择跳转到其他页面或显示更多信息
} else {
uni.showToast({
title: res.result.message,
icon: 'none'
});
}
} catch (error) {
uni.showToast({
title: '报名失败,请稍后再试',
icon: 'none'
});
console.error(error);
}
}
},
};
</script>
<style scoped>
.container {
padding: 20px;
}
.input-group {
margin-bottom: 15px;
}
.input-label {
display: block;
margin-bottom: 5px;
}
.input-field {
width: 100%;
padding: 10px;
border: 1px
}
</style>
```
现阶段,对普通人使用可能还有点难度,但对粘贴程序员来说,这种生产工具,香到无以复加。假以时日,AI继续进化,普通人通过简单的关键字,就可以得到一个可以直接运行的程序。IT成本进一步降低,粘贴程序员的人力成本更低。