后端开发是如何搞定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

目录
相关文章
|
6天前
|
设计模式 安全 数据库连接
后端开发中的设计模式应用
在软件开发的浩瀚海洋中,设计模式如同灯塔,为后端开发者指引方向。它们不仅仅是代码的模板,更是解决复杂问题的智慧结晶。本文将深入探讨几种常见的设计模式,包括单例模式、工厂模式和观察者模式,并揭示它们在实际应用中如何提升代码的可维护性、扩展性和重用性。通过实例分析,我们将一窥这些模式如何在后端开发中大放异彩,助力构建高效、灵活的软件系统。
|
5天前
|
存储 前端开发 关系型数据库
探索后端开发:从新手到专家的旅程
【9月更文挑战第15天】在数字时代的浪潮中,后端开发成为了技术世界的心脏。本文将通过浅显易懂的语言和实际案例,带领读者从零开始,逐步深入后端开发的奥秘。我们将一探究竟,如何从基础概念出发,通过实践操作,最终成长为能够独立设计和实现复杂系统的后端专家。无论你是编程新手还是有一定经验的开发者,这篇文章都将为你的职业成长之路提供宝贵的指导和灵感。
38 15
|
2天前
|
API 网络架构 开发者
探索后端开发:RESTful API设计的艺术
【9月更文挑战第18天】在数字化时代的浪潮中,后端开发如同搭建一座座坚固的桥梁,连接用户与数据的无限可能。本文将深入浅出地探讨RESTful API设计的精髓,从理论基础到实践应用,带领读者领略API设计的艺术。我们将以代码示例为灯塔,照亮理解之路,但
|
10天前
|
存储 JavaScript Java
深入浅出后端开发:从零到一的旅程
【9月更文挑战第10天】本文将带领读者走进后端开发的神秘世界,从基本概念到实战应用,一步步揭开后端技术的面纱。通过浅显易懂的语言和实际代码示例,我们将探索如何搭建一个简单的后端服务,理解数据库交互,并实现API的基本功能。无论你是编程新手还是希望扩展知识的开发者,这篇文章都将为你提供一条清晰的学习路径。
|
8天前
|
前端开发 JavaScript Java
编程入门之前端和后端开发
前端开发就是开发网页上的内容展示与用户的交互,一部分后端开发工作就是开发数据访问服务,使前端可以通过后端服务对数据进行增删改查,也就是Crud,对前端用户的请求进行相应。
29 8
|
2天前
|
机器学习/深度学习 数据采集 JavaScript
ADR智能监测系统源码,系统采用Java开发,基于SpringBoot框架,前端使用Vue,可自动预警药品不良反应
ADR药品不良反应监测系统是一款智能化工具,用于监测和分析药品不良反应。该系统通过收集和分析病历、处方及实验室数据,快速识别潜在不良反应,提升用药安全性。系统采用Java开发,基于SpringBoot框架,前端使用Vue,具备数据采集、清洗、分析等功能模块,并能生成监测报告辅助医务人员决策。通过集成多种数据源并运用机器学习算法,系统可自动预警药品不良反应,有效减少药害事故,保障公众健康。
ADR智能监测系统源码,系统采用Java开发,基于SpringBoot框架,前端使用Vue,可自动预警药品不良反应
|
5天前
|
Web App开发 存储 JavaScript
深入浅出Node.js后端开发
【9月更文挑战第15天】在数字化浪潮中,Node.js作为一颗耀眼的星辰,为后端开发领域注入了活力与创新。本文将带你领略Node.js的魅力所在,探索其架构设计、性能优化及实战应用,让你在轻松愉快的氛围中掌握Node.js后端开发的精髓。
|
10天前
|
存储 前端开发 Java
探索后端开发:从新手到专家的旅程
在这篇文章中,我们将一起踏上一段奇妙的旅程,探索后端开发的奥秘。无论你是刚刚踏入编程世界的新手,还是已经在这条路上走了一段时间的开发者,这篇文章都将为你提供有价值的见解和建议。我们将从基础概念开始,逐步深入到高级主题,包括框架选择、数据库设计、API开发等。让我们一起开启这段旅程吧!
|
9天前
|
Web App开发 JavaScript 前端开发
深入浅出Node.js后端开发
【9月更文挑战第11天】本文将带你走进Node.js的世界,了解其背后的运行机制和实际应用。我们将从基础概念出发,逐步深入到实战应用,最后通过代码示例巩固学习成果。无论你是初学者还是有一定经验的开发者,这篇文章都将为你提供新的视角和思考。
|
10天前
|
前端开发 API 数据处理
探索后端开发中的API设计哲学
【9月更文挑战第10天】在数字化时代的浪潮下,后端开发作为连接数据与前端界面的桥梁,其重要性不言而喻。本文将深入探讨如何通过精心设计的API来提升后端服务的可维护性、扩展性和用户体验。我们将从API设计的基本原则出发,逐步展开对RESTful API和GraphQL两种流行风格的比较分析,并结合具体场景讨论最佳实践。文章旨在为开发者提供一套实用的API设计指南,助力打造高效、稳定且易于协作的软件架构。
25 6