前几年看过一个快捷开发多端应用的技术文档。最近重新翻看,发现技术升级的更便捷,所谓敏捷开发。
技术选型
Node.js为后端,uniapp+unicloud+阿里提供的Serverless,可以做到一站式,全端开发。一次开发可以发布到十几个不同的平台上面,包括H5、微信小程序、安卓App、Ios App、抖音小程序、支付宝小程序、快手小程序等等。
尝试开发了一个时间线+卡片笔记,类似于memos的,用于随手记录信息的小应用。并生成安卓App。
后端就用免费提供的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成本进一步降低,粘贴程序员的人力成本更低。