后端开发是如何搞定APP开发的--《前端那些事》

简介: 个人技术背景:从业10年,一直做后端相关的开发工作,对JavaScript的基本语法有一定的了解,完成过公司内的运营后台的前端开发工作,使用boostrap来解决窗口适配等问题,对前端知识的掌握停留在jQuery及基本的页面逻辑编写上。近几年对APP开发有浓厚兴趣,想独立将自己的想法通过APP落地实现出来,期间接触过ios开发swift,Android开发,以及一些前端框架phonegap、flutter以及vue,目前通过flutter以及vue搭建出了APP,当前处于发行前期。本篇文章旨在向大家介绍作为一名多年经验的后端开发,是如何一步一步的独立实现APP的开发和搭建前端部分的工作的。

讨论范围


2010年以前,前端开发一般指的是网站端将页面翻译成JavaScript,并对多种浏览器比如IE、Firefox、Opera、世界之窗等做兼容;随着Chrome的崛起以及移动互联网的普及,跨端的前端框架如雨后春笋般出现,从Facebook的reactjs到Google的flutter(立意点是一处写多端用提升效率降低成本,并尽可能减小相比于原生开发语言带来的性能影响),再到各个应用程序的小程序,近十年,相比于其他的开发者,前端开发者的世界可谓是轰轰烈烈。


所以当下的前端,它不再仅仅指代以往的前端开发(将页面通过JavaScript实现出来),它还包括终端开发(包括Android、IOS以及其他的一些端)、跨端开发、小程序开发、视觉UI设计等。标准的软件开发流程大致如下:


用户调研  ->  产品原型  ->  视觉设计  ->  前端开发  ->  后端开发  ->  测试上线


可以看到,从用户调研完成开始到后端开发之前,其实都是前端开发的范畴,有些公司会分类为前台、中台、后台。


而本文,我们讨论的范围是作为一名后端开发,如何独立实现APP的开发上线。

技术选型

当前,APP主要分为Android和IOS两个系统平台,其中Android开发语言为Kotlin、Java(Google在2019正式宣布kotlin代替Java成为Android开发的首选语言),IOS的开发语言为Swift、Objective-C。


一个人同时掌握多套终端开发技能是不难的,然而作为一名有追求的程序员,最大的特质是懒,即同样的逻辑是不太愿意重复实现的,另外也比较浪费时间;另外,IOS开发需要向苹果公司购买证书,个人开发者每年99美元,我们只是先自己折腾一下,短期内考虑只推出Android平台的app就好。


基于以上,我决定选择一种跨端的框架来实现。


上手试试


开发工具:

Android studio  Google官方提供的IDE,我这里用于跑Android模拟器

HBuilderX         UNIAPP官方提供的IDE,用于开发app页面逻辑


uniapp项目常规的目录结构及解释如下:(注:App.vue和main.js的注释写反了)

image.png


以简单的用户信息页面为例,模板代码如下:

<template><viewclass="user-info-root"><viewclass="user-info-item user-info-item-avatar"><viewclass="user-info-item-title">        头像
</view><viewclass="user-info-item-value"><imageclass="user-info-item-value-avatar":src="userInfo.avatarUrl"mode="aspectFill"></image></view><!-- <view class="user-info-item-go-to"></view> --></view><viewclass="user-info-item"@click="goToUpdateName"><viewclass="user-info-item-title">        昵称
</view><viewclass="user-info-item-value">        {{userInfo.nick}}
</view><viewclass="user-info-item-go-to"></view></view><viewclass="user-info-item"@click="goToUpdateGender"><viewclass="user-info-item-title">        性别
</view><viewclass="user-info-item-value">        {{userInfo.gender === 1 ? '男' : '女'}}
</view><viewclass="user-info-item-go-to"></view></view><navigatorclass="user-info-item"url="/pages/cityList/cityList"><viewclass="user-info-item-title">        地区
</view><viewclass="user-info-item-value">        {{userInfo.province}} {{userInfo.city}}
</view><viewclass="user-info-item-go-to"></view></navigator><viewclass="user-info-item"@click="goToUpdateDescription"><viewclass="user-info-item-title">        个人描述
</view><viewclass="user-info-item-value">        {{userInfo.description}}
</view><viewclass="user-info-item-go-to"></view></view></view></template>

获取数据的逻辑如下:

asyncloadUserInfo() {
uni.showLoading({
title: '数据加载中...'  });
let [userInfoData] =awaithttpUtils.postJson("/api/user/info", {});
this.userInfo=userInfoData.data;
uni.hideLoading();
},

虚拟机展示效果:

image.png


涉及后端的表结构设计、HTTP接口的提供这里就不展开了。

至此,在模拟器上我们可以顺利的创建页面、编写逻辑、渲染页面了。


经过两个多月的开发,APP已基本成型,页面端向大家分享一下:

image.pngimage.pngimage.png


总结

随着移动互联网的发展,前端领域发展的尤为迅速,当下我们可以借助许多成熟的跨端框架,通过自己擅长的开发方式进行多端应用的实现,提升效率的同时,也让更多个体开发者可以方便快捷的实现自己的想法,在此向这些开源的跨端框架致敬。


通过两个多月的开发,整体体验下来对框架由陌生到熟悉,中间遇到了非常多的坑,也走到了几个死胡同,学到很多,而这些不亲身实践是很难想到的和体会到的。


而这两个多月里,整体的创意设计、架构设计、APP逻辑开发、后端开发的占用实践比例大致是1:1:3:1,相信如果重头再来开发的话,APP逻辑开发的耗时占比将于后端开发差不多。


感谢跨端框架,助力我实现APP自由。


过程中如果有更多需要交流的,欢迎留言评论或者发邮件给我,我的邮箱swmabby@gmail.com

目录
相关文章
|
9天前
|
Dart 前端开发
【05】flutter完成注册页面完善样式bug-增加自定义可复用组件widgets-严格规划文件和目录结构-规范入口文件-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
【05】flutter完成注册页面完善样式bug-增加自定义可复用组件widgets-严格规划文件和目录结构-规范入口文件-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
106 75
【05】flutter完成注册页面完善样式bug-增加自定义可复用组件widgets-严格规划文件和目录结构-规范入口文件-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
|
6天前
|
Dart 前端开发 容器
【07】flutter完成主页-完成底部菜单栏并且做自定义组件-完整短视频仿抖音上下滑动页面-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
【07】flutter完成主页-完成底部菜单栏并且做自定义组件-完整短视频仿抖音上下滑动页面-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
【07】flutter完成主页-完成底部菜单栏并且做自定义组件-完整短视频仿抖音上下滑动页面-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
|
8天前
|
缓存 前端开发 IDE
【06】flutter完成注册页面-密码登录-手机短信验证-找回密码相关页面-并且实现静态跳转打包demo做演示-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
【06】flutter完成注册页面-密码登录-手机短信验证-找回密码相关页面-并且实现静态跳转打包demo做演示-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
【06】flutter完成注册页面-密码登录-手机短信验证-找回密码相关页面-并且实现静态跳转打包demo做演示-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
|
前端开发 物联网 Android开发
从前端的角度出发 – web 调起 APP
背景 对于APP来说,回流分享页是最好的最便宜的也是最病毒式的拉新方式。让新用户去下载APP是重要的。对老用户来说,可以直接调起APP也是提升用户体验和让用户有侵入式体验的重要手段。所以我们一起来看看有哪些方式可以唤起APP的 概念叙述 调起APP在不同平台用不同的方式,主要就分3个 * URI Scheme * universal Link * Android App Links 现在还是有很多第三方来协助你处理这个事情,通过接入他们的SDK和客户端代码来处理,但是万变不离其宗,所有的第三方也离不开这3种方式。
4509 0
|
15天前
|
前端开发 Java 开发工具
【03】完整flutter的APP打包流程-以apk设置图标-包名-签名-APP名-打包流程为例—-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈 章节内容【03】
【03】完整flutter的APP打包流程-以apk设置图标-包名-签名-APP名-打包流程为例—-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈 章节内容【03】
【03】完整flutter的APP打包流程-以apk设置图标-包名-签名-APP名-打包流程为例—-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈 章节内容【03】
|
11天前
|
缓存 前端开发 Android开发
【04】flutter补打包流程的签名过程-APP安卓调试配置-结构化项目目录-完善注册相关页面-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程
【04】flutter补打包流程的签名过程-APP安卓调试配置-结构化项目目录-完善注册相关页面-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程
【04】flutter补打包流程的签名过程-APP安卓调试配置-结构化项目目录-完善注册相关页面-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程
|
15天前
|
Dart 前端开发 Android开发
【02】写一个注册页面以及配置打包选项打包安卓apk测试—开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
【02】写一个注册页面以及配置打包选项打包安卓apk测试—开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
【02】写一个注册页面以及配置打包选项打包安卓apk测试—开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
|
17天前
|
Dart 前端开发 架构师
【01】vs-code如何配置flutter环境-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈-供大大的学习提升
【01】vs-code如何配置flutter环境-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈-供大大的学习提升
|
14天前
|
小程序 IDE PHP
圈子源码如何打包生成App小程序/开发一个圈子系统软件所需要的费用体现在哪里?
将PHP源码打包成App的过程涉及多个步骤和技术选择。以圈子源码为例,首先明确需求,确定App功能和目标用户群体,并根据需求开发小程序页面,如用户注册、圈子列表等。源码准备阶段确保源码适用于小程序开发,环境配置需安装IDE(如微信开发者工具)及依赖库。最后在IDE中打包小程序并上传至管理平台,通过审核后发布。费用方面,模板开发成本较低,定制开发则更高,具体取决于需求复杂度和第三方服务费用。
47 0
|
14天前
|
移动开发 监控 小程序
TP6+Uni-app框架开发,2025年最新圈子系统功能展示,圈子app流量主模式
圈子系统基于TP6+Uni-app框架开发,支持多端账号同步并可快速生成APP。它适用于行业、地方、社交、游戏、兴趣等多种圈子场景,提供广告展示、商品销售、推广结算、交易佣金、入驻费用、会员增值及线上线下活动等多元盈利模式,帮助商户精准定位用户,实现流量变现和业务增长。

热门文章

最新文章