Hello,大家好,我是一个大二计算机系的菜鸟,在这个漫长的寒假中,我完成了自己的第一个项目,基于微信小程序云开发的校园交易互助平台。下面跟大家谈一下我的理解:
1. 什么是前端什么是后端,它们在项目中扮演什么样的地位?
首先,前端是用户能看到的东西,所有用户能看到的页面都属于前端页面,在编写前端代码中,更多的时间是在改样式,想布局,找一些好看的图标,背景。还有一些简单的js逻辑。
然后,什么是后端,简而言之后端就是用户看不到的东西,哈哈。其实我在做项目之初,对后端没有什么理解,感觉就是一些交互,但是不知道在交互什么。当我做完我的项目之后,回望整个后端逻辑,用四个字概括:增、删、改、查,其实敲了那么多后端逻辑,就是在完成一个增删改查的任务。因为我用的是云开发技术,就是用js操作数据库完成增删改查。End
你可能以为后端就这么简单吗?其实不然,这里面伴随着很多复杂的逻辑,在不同的应用场景中的并不一样,而且也不全是增删改查,增删改查占据80%左右。
2. 在微信小程序开发中,云开发扮演者什么角色?
Emmm,不得不说,云开发对新手太友好了。大概是在2018年末,微信官方发布云开发概念,弱化传统的后端,一个前端开发也可以独立完成一个完整的项目。
在传统的项目中,你如果想做一个项目,首先,你要学前端技术,html/css/js等等。然后要学一门后端语言,java/python/php/c 等等,然后你还有学数据库的内容,大部分是mysql,最后还要了解服务器的配置。你需要把这一切全部搭建起来。可以说,对于一个想独立开发项目的新手,太难了。
然后,云开发包含云数据库:存一些基本数据,云存储:放一些图片、文件,云函数;代替后端,用js完成交互逻辑实现增删改查。至此,你只需要会html/css/js的基础知识,就可以完成一个完整的项目!!!
所以,如果你基础不太好,掌握的专业知识不是很多,但是想尽快的完成自己的项目,云开发是你最好的选择
3. 为什么一定要有后端,后端的功能,js不能实现吗?
可以,js虽然是一个脚本语言,但是基本可以实现所有功能。
但是————我们应该知道,浏览器中是有内核的,用来解释js代码,哦不对,首先应该先说一下,咱们学的编程语言,可以简单分为两大类,编译型语言和解释型语言。编译型语言是编译一行执行一行,解释型语言是全部解释完才会执行。
So,假设我们现在需求是做一个人脸识别的功能,js可以实现吗?答案是肯定的,但是js实现这个功能可能需要1000行代码,如果这1000行代码都写在前端文件中,内核解释起来会慢很多,就会遇到在相同网络环境下,打开别人网页一秒钟,打开你的网页10秒钟。
哦吼,这样用户体验就不好了是吧,所以,正确的打开方式,应该是由后端写接口,然后前端调用。后端的文件是放到服务器上执行的。
事物发展肯定是有自己的客观规律的,如果前端可以完成一切任务,就不会有后端的产生了。
4. 什么是框架?为什么要用框架?
框架,简单来说,就是开发者把自己的代码封装起来,然后供其它开发者使用。比如我用的UI框架是Vant,我看过它的源码,拿一个按钮组件举例,它的源码是70多行,但是我如果用的话,只需要在json文件中引用一下,然后直接在wxml里写一个标签,即可完成一摸一样的效果。喔,是不是太方便了。
So,为什么用框架,就不用我多说了吧,提高开发效率的必备选择。
其实会使用框架是一个很基本的要求,难的不是如果使用这个框架,难的是如果编写框架。在一些公司里的高级程序员,他们用框架的时候,不是简单的会使用就行,他们要看源码,搞懂这个基层的东西。
还是那句话,任何事物发展都有自己的客观规律,技术的发展肯定是向着高效率的方向。
5. 小程序未来的发展方向如何?
给大家一个数据,2013年全国平均安装APP数量是13个,2019年是0.3个。
在各大招聘网站上,安卓IOS开发的岗位也越来越少。哦吼,很明显吧。小程序在未来会逐步替代最少80%的APP。小程序,大未来这个说的一点问题没有。越来越多的公司不再做APP,而是用小程序和H5页面代替。微信大量的用户量,使产品推广的成本降的很低。其实,APP烧钱的地方不是开发, 而是推广,太难了。
所以,未来小程序开发的方向是很不错的,微信官方也在给咱们开发更多的功能模块。
以上是目前我能想到的东西,当做完第一个项目,并且成功上线之后,感觉自己成长了很多,懂得了很多这个行当的东西。我仍然是一个菜鸟,但是在不断地成长。