前端菜鸟如何快速开发个人产品

多态珊瑚
• 阅读 810
我是车辙,我的掘金小册《SkyWalking:应用监控和链路跟踪》已经上线啦,这是我的第一本电子书,欢迎大家订阅。

大家好,我是车辙。在完成小册后的一段时间,我突然想开发一款个人H5产品。在起初有这样想法的时候,内心其实还是有不少纠结的。

大家都知道,虽然我是计算机专业,但我从毕业到现在工作4年时间,基本上所有的工作都是和后端有关。唯一和前端沾边的学习技能还是在大学时期学的,那时候因为毕业设计是爬虫网站,主要用于小说的爬取和阅读。所以它的大部分内容还是以后端为主,前端界面非常简单,用了Bootstrap 布局和JavaScript

如果要做一款H5产品,除了需要学习新的框架,像Vue或者React, 还得去学习Css 以及各种布局,也许后面还得对其进行机型适配,想想就头大。

当初放弃前端的原因还是觉得 Css 太复杂了,天底下怎么会有这么难的技术。数据结构和算法和它比都算简单的。

后来请教了前端的朋友和同事,他们告诉我要做一款个人的产品是有速成的办法的,可以通过CodeFun快速生成前端代码。至于后端和上线部署对我来说还是没有什么难度的。磕磕绊绊之下,我的产品在两周前终于搞定了,完结撒花。

文末有链接,大家可以去体验下

接下来,我会基于我的学习、踩坑经历,给那些后端精通、前端小白的程序员们提供一个产品快速开发方案。

画设计稿

正经的互联网公司,在项目立项后。产品首先需要出一份原型,然后交由 UI 出一份设计稿,接着前端负责实现。对于我们个人开发者而言,原型可以不用出,设计稿还是需要的。况且,多画图对我们程序员还是很有帮助的,不管是时序图还是流程图,还是设计稿,都能锻炼我们的思维能力

我使用的设计工具是Figma,国外的一款设计平台。相比于 Axure,我更看重它的在线设计协作能力。如果对Figma不熟悉的同学,可以参考B站的视频教程快速学习,小破站牛逼!B站地址

你可以快速把这个B站视频看完,然后再用个半天,差不多就能靠 Figma 画出个设计稿了。如果需要Logo图标,可以去阿里妈妈的图标网站iconfont下载。地址

下面的就是我的产品设计稿了。
前端菜鸟如何快速开发个人产品

前端代码生成

画完设计稿,之前我们提到过,可以通过CodeFun 这个平台快速生成前端代码,它的官网简介说是 UI 设计稿自动生成源代码。CodeFun 可以说和Figma 进行了深度绑定,它在Figma中开发了一款插件,可以把Figma的产品设计稿上传到CodeFun 中。把我这边的设计稿上传后,可以看到在 CodeFun 中成功生成了页面。

前端菜鸟如何快速开发个人产品

随便点击一张设计稿,它就能帮我们生成对应平台的程序代码,包括Uniapp、Vue、微信小程序等。
前端菜鸟如何快速开发个人产品

但是接下来的选择就犯了难,该选择哪个平台?因为我的平台定位是微信H5,但不排除之后可能会复制到小程序。网上搜索后,网友推荐了UniApp作为开发平台,它能把 UniApp 的原生代码转换成微信小程序、H5,甚至 App 的代码,并且官网的文档足够丰富,至少对于我来说足够了。

H5 开发

对于 Uniapp 的学习,B站上视频一堆,只不过内容都很多,就算开着2倍速,也无法在短时间内学会,看完说不定还会忘。所以我们可以参考网上某马的入门教程,了解 Uniapp 的基本使用,不需要多,了解下基本配置和 Tabbar 的生成即可。

具体地址就不发了,可能会有给某马打广告的嫌疑

配置完成后,通过微信小程序开发工具,能有这个样子就差不多。

前端菜鸟如何快速开发个人产品

样式开发

接着把 CodeFun 生成的代码文件复制到Uniapp,你以为这很简单的吗?其实这才是痛苦的开始。为什么这么说?

  1. CodeFun 生成的静态代码完全只能看,比如说它生成的文本框只是一个Div + Css。你需要把它替换成对应的组件。因为我们是Uniapp 开发的,所以我建议去它的官网找对应的组件会比较快,而且兼容性也会更强。另外像一些相对复杂的组件,ScollDateTimeswiper-item 都需要我们去替换掉。
  2. 它生成的 Css 既多还复杂,重重嵌套,有时候一个简单的 View 会有4、5个样式。还有一些布局,比如flex布局,主轴和副轴是什么,对于前端小白的我,每次碰到不会的,都得去网上看下什么意思。为了防止忘记,我都会把它记下来,睡前再回顾一遍
  3. 有些Uniapp的组件和 CodeFun生成的代码会存在一定冲突。比如说居中、字体等,这时候就得手动去调整样式。如果调不通,需要去修改组件源码。这对我来说可太难了,记得一开始改个左右居中对齐就花了我3个小时,差点就把我的耐心给熬没了。
  4. CodeFun 生成的css因为不通语境,命名方式都是类似于:Section1、Section2、Group1、Group2 维护起来特别的麻烦。

所以说,自动生成代码其实也是存在不少弊端,只不过作为刚入门的新手,能帮助我们快速开发,优势还是大于劣势的。

事件开发

到这一步,产品其实已经初具雏形。我们要做的是给他添加各种事件以及和后端的交互。基本上这一步主要的难点在于 Vuex 和同步异步的使用,像 v-model、v-for、v-if 这种学习起来还是比较简单的。

其实我一开始主要就是用 LocalStorage 存储信息,觉得没有Vuex不也能开发嘛,不过随着页面间的交互多起来,问题就暴露了:我在A页面的修改了用户信息后,到B页面数据并没有随之变化。只好乖乖的去学Vuex。所以这里我建议,如果你的项目页面较少,就用LocaStorage就完事了,如果页面较多且有交互,就用Vuex + localStorage

剩下的还有同步异步问题就靠Promise去解决,这个东西一开始我特别理解不了,比如使用await关键字的使用场景。感觉后端的异步比前端还是要简单点。

额外问题

在开发过程中,还存在些额外的问题。

  1. 比如微信授权问题,因为我是需要微信登录的,但是在Hash模式下因为#号导致了微信回调地址出错,所以我最后还是改成了History模式。至于这个引出的问题,我们在部署环节再讲。
  2. 一开始我以为微信授权需要真实的测试环境地址,打算通过内网穿透测试。后面才发现你可以修改本地Host 创造个假的域名用于本地测试。

部署到服务器

在本地开发完成后,我们需要部署到测试环境中。Uniapp 提供了一键构建打包的功能,直接使用就可以了。
而服务器我建议购买腾讯云的,相比于阿里云更加便宜点,【吐槽下阿里云太贵了】。

然后腾讯云和宝塔是有合作的,用宝塔操作服务器、安装软件、维护软件什么的,确实比自己手动敲代码更简单。安装以下几个软件:

  1. JDK11
  2. MySQL
  3. Nginx

    注意开通对应的防火墙端口,比如MySQL就需要开通3306端口,Redis 需要开通 6379端口

这边的几个问题有:

  1. 跨域问题:跨域主要就是因为域名、端口、协议不一致导致的。以前还没考虑过为什么前端本地调试的时候没有跨域问题,原来是前端做了代理,帮助我们和后端进行了交互。但是在测试环境上就是些Html和js代码,所以我们可以通过Nginx帮助我们做这个代理。。
  2. history 问题,因为history模式去除了#,在刷新页面的时候会默认请求后端,但是后端没有这个接口,就导致了404。所以我们需要在Nginx 通过try_files进行配置,先去前端页面找,找不到再去请求后端服务器。

前端菜鸟如何快速开发个人产品

后端的部署,我推荐使用云效【我觉得是我目前为止体验最好的产品了】。全部部署完成后,产品就正式上线了。

OK,到这差不多就结束了。其实还有很多问题存在,比如说微信支付的JS-SDK,组件封装等等,不过篇幅有限,就到此为止吧。最后奉上体验地址,希望大家前往试用。前端小白的作品

总结

通过这次实打实的体验前端同学的工作,我以前觉得前端简单的想法真是大错特错,前端的难度一点都不比后端低。像这次机型适配,我压根就没完成。。。

最后希望大家多多点赞、收藏。就和收藏电子书一样,点赞、收藏了,也就代表学会了,不要问我怎么了解的这么清楚。

前端菜鸟如何快速开发个人产品

我是车辙,掘金小册《SkyWalking》作者,一名常被HR调侃为XX杨洋的互联网打工人,。

有需要源码的同学可以关注公众号《车辙的编程学习圈》领取,说不定什么时候这个产品也开源了,点击领取
本文由博客一文多发平台 OpenWrite 发布!
点赞
收藏
评论区
推荐文章
Jacquelyn38 Jacquelyn38
4年前
React与Koa一起打造一个仿稀土掘金全栈个人博客(技术篇)
前言我的个人博客样式布局是仿的稀土掘金,个人博客线上网址:https://www.maomin.club/,也可以百度搜索前端历劫之路。为了浏览体验,可以用PC浏览器浏览。本篇文章将分为前台角度与后台角度来分析我是怎么开发的。前台角度主要资源react.jsantDesignforeditoraxio
想天浏览器 想天浏览器
3年前
想天浏览器登场——国内首款专注于生产力场景的浏览器
天为大家介绍一款专注于工作场景的浏览器——想天浏览器产品尚处于测试阶段。但是我迫不及待为大家介绍我的产品。这是一款无广告,专门为高效能人士打造的纯净浏览器。想天浏览器想天浏览器有什么特色?1.强大的标签分组,让你告别凌乱的标签组2.便捷易用的左侧栏,可以自由添加管理左侧应用3.简洁好用的newtab页4.内置网站导航与个人导航5.支持沉浸式标签栏,减少应用割
Stella981 Stella981
3年前
Kali之ProxyChains配置上Google和YouTube等网站
起因学习Kali一段时间,每次下载安装软件速度都特别慢,一直是几十KB每秒,而且我已经更换了国内的中科大和阿里云的镜像源了,但还是那么慢,受不了这速度,然后我发现了如果你们想不用代理的话可以在早上11点前进行下载安装Kali的一些软件,我设置代理之前都是这样操作来过上一段日子的。然后我决定往这个代理方向研究,有一个想法就是能不能通过代理下载Kali的一些
Stella981 Stella981
3年前
Github 一夜爆火的阿里高并发技术小册究竟有什么魅力?
又双叒叕曝干货?临近年关,疫情又双叒叕反弹!在大家都担心是否还能返乡之际,阿里在农历2021到来之前却是又搞了一个大动作!把阿里这一年在应对高并发流量的技术经验整合成一份技术小册开源分享供大家学习借鉴。我也是昨天才发现这份小册开源至Github上居然一夜爆火!看了小册之后才知道,原来阿里在应对高并发大流量时也会采用类似“抵御洪水”的
Wesley13 Wesley13
3年前
JDR DESIGN 开发小结
经过一个月的时间,在我遇到了很多“这个我不会做啊?”,“这个到底怎么做“的问题后,它终于成功上线了!下面总结一下整整一个月的时间我是如何开发JDRD,遇到的各种问题以及解决方案。JDRDESIGN\1\是京东零售设计中台的门户站点,展示京东零售设计服务平台的产品以及应用场景,特点是动效丰富、图片细节多、要求整站文案和外链可配置。项目最大的困
Wesley13 Wesley13
3年前
2008年第七届中国企业领袖年会马云讲话
马云演讲实录——介绍我的时候感觉我像个政府官员,其实我还是一个创业者。其实去年这个时候还有周其仁教授,很多的学者、专家、教授已经感觉到,只不过是我胆子比较大,把话说出来,而且说得难听一点。我走了一大圈,分析一下我自己对于目前经济形势的看法,也许我自己的思考未必对,但我也不需要得到大家的认同,只是希望大家回去思考一些想法。我最近在全世界各地听了太多
Wesley13 Wesley13
3年前
Java后端学习路线
自学/学习路线这样的一期我想写很久了,因为一直想写的全一点硬核一点所以拖到了现在,我相信这一期对不管是还在学校还是已经工作的同学都有所帮助,不管是前端还是后端我都墙裂建议大家看完,因为这样会让你对你所工作的互联网领域相关技术栈有个初步的了解。你们也知道敖丙我是个创作鬼才,常规的切入点也不是我的风格,我毕业后主要接触的都是电商领域,所以这一期我把目前所了解
Wesley13 Wesley13
3年前
thinkphp 定时执行php文件 php自动执行php文件
最近开发短信任务和短信发送功能,用到了定时执行php这方面:和大家分享一下:(个人笔记,写的不好,海涵海涵,看不懂的话可以留言,但是我一般都能及时回复,其他网上有很多这样的教程,大家一搜就满地)我用的是thinkphp开发的程序,程序已经开发好了,程序有个分批定时发送功能,每隔一段时间查找一下数据库,然后把符合条件的短信任务给发送出去
Python进阶者 Python进阶者
1年前
一个excel文件,我用pandas如何取行,只能用pandas?
大家好,我是皮皮。一、前言前几天在Python白银交流群粉丝问了一个Pandas数据筛选的问题。问题如下:我突然想到,如果一个excel文件,我用pandas如何取行,只能用pandas。二、实现过程后来【月神】给了一个思路和代码如下:其实粉丝之前也问了一
linbojue linbojue
1年前
超完整的Electron打包签名更新指南,这真是太酷啦!
大家好,我是多喝热水。在踩了数不清的坑之后,终于从0到1完成了一个桌面端应用,但万万没想到,最最痛苦的还不是开发过程,而是开发完成后的打包签名阶段,这真是踩坑踩麻了!!!超完整的Electron打包签名更新指南,这真是太酷啦!ok,踩坑归踩坑,收获也是不小
京东云开发者 京东云开发者
11个月前
从C端到B端:我的前端技术进阶之路
个人经历大家好,我叫付小波,2017年加入京东,现担任全渠道生态部前端架构师。我负责过ToC和ToB多个业务,近几年主要专注于B端应用开发。以下是我的主要经历:2017年:负责主站虚拟交易业务研发,搭建首个虚拟交易类小程序;2019年:从C端转向B端系统,