十多年前,心血来潮想拥有一个自己的网站。上网搜教程,结果就摸到了WordPress(国外的一个可以免费商用建站源码)。看了一堆攻略后,说干就干:买虚拟主机、注册域名,依葫芦画瓢,竟真的把它装到了服务器上。当浏览器终于跳出自己网站的那一刻,成就感爆棚。通过WordPress后台,我发布文章、更换主题、修改Logo……这些操作让我觉得自己已经摸到了网站运行的脉搏,甚至隐约看懂了点HTML的代码。
初尝甜头与首次挫折
自信开始膨胀。我拉上几个朋友去谈业务,尝试接企业官网的项目。居然还有客户愿意相信我们!
我找了个差不多的WordPress模板,填充内容,调调样式,按客户的需求建栏目、加内容,然后战战兢兢地发给客户预览。客户只提了“一点点”修改意见,我却瞬间懵了——就这“一点点”,在后台根本无法完成,必须改代码。而我,根本看不懂代码。
那是个还没有AI辅助的时代。我只能到处搜索相关的技术文档,东拼西凑,侥幸完成了。但这次经历像一记警钟:我好像什么都会一点,但又什么都不真懂。任何一个微小需求,都可能让我陷入困境。我懂了,想真正干这行,不能只当“源码的搬运工”。必须系统学习,自己掌握代码。
于是,我决定从前端入手,从HTML开始学习。
前端三板斧的学习之路
我觉得HTML也太简单了,div、span搭骨架,h、p放内容,img、a链万物……我心想:网页开发,不过如此。
但很快,我意识到我的网页丑得难以直视。网页不能只有骨架!于是,CSS登场。虽然要记的属性比HTML多了不少,但当我用选择器精准控制样式,为盒子模型加上背景、边距、阴影,感觉像给骨架加上了皮肤,我又感受到了“创造”的快乐。
接着,我又意识到:网页好看了,但像个雕塑,无法互动。于是又开始JavaScript的学习。数据类型、循环判断、函数作用域……抽象的概念让我几次想放弃。但之前 HTML 和 CSS 带来的成就感,像火种一样支撑着我。我转换思路,跟着案例学:图片轮播、表单验证、动态渲染……当死寂的页面因我的代码“活”过来时,我感受到JavaScript为我的网页赋予了“灵魂”
至此,我掌握了前端“三板斧”,却发现离“做一个完整网站”依然遥远。
登录无法验证身份,注册信息无法提交到数据库,网站的内容都是写死的静态文本。
后端开发:翻越另一座大山
后端,成了必须翻越的山。在Java、PHP、C#、Python等后端语言中,我选择了似曾相识的PHP(因为第一次建站时使用的WordPress,就是PHP开发的)。刚开始的变量、数据类型、函数有 JavaScript 铺垫,并不吃力。学到数据传递方法:GET和POST时,终于解开了当初学HTML时的一些未解之谜:HTML的表单如何提交到后台的?method、action的值怎么填?总算能把用户提交的数据,通过 PHP 存入MySQL数据库了。
说到数据库,当时靠着 phpMyAdmin 这类可视化工具,我误以为它就是个“高级电子表格”,压根没有系统性的学习数据库知识,也就没有设计E-R图、无视范式约束、不懂预处理防注入,给项目埋下了无数大坑。
当我能用PHP对数据库进行“增删改查”时,我以为自己“出师”了,但后续的教程里:“面向对象”、“MVC框架”这些字眼告诉我:这条路还很长。
框架的力量与系统化思维
果然,天真的我尝试独立构建一个内容管理系统时,我再次陷入迷茫。
之前学的前端知识让我建一个网页很容易,但要做出整站美观、风格统一的界面实在吃力。直到遇见Bootstrap框架,才让我效率倍增,整个网站前端总算像样一点了。
后端也是如此,写一个功能容易,但是写一个整体的系统难以避免:业务逻辑混乱、HTML与PHP混在一起、每个页面都要单独连接数据库...既然前端可以利用框架解决整体问题,后端当然也可以!继续学ThinkPHP/Laravel这类框架,继续优雅地构建整站系统。
学完前后端框架,才真正拥有了承接项目的能力。
从几千元的企业网站,到几万元的电商系统、企业管理系统,这门手艺已经能为我谋生。
移动互联网时代的新挑战
然而市场永不静止。往后几年PC网站需求萎缩,移动互联网的浪潮扑面而来。不只是px到rpx的转变,Flex布局让我大脑的前端构建体系进行了一次大更新。因此,我又结识了新朋友:Vue.js和Node.js。好在基础扎实,理解它们并不算难。
紧接着,新的烦恼来了:iOS、Android、各家小程序……难道要为每个平台都写一套代码?然而我又又又一不小心发现了uni-app框架,用Vue写一套代码,就能编译到十几个移动平台,这简直是开发者的神器。
AI时代的编程思考
与此同时,各类AI编程助手横空出世。它让我感觉自己成为一名“技术总监”:谈妥需求后,可以让AI生成流程图、规划功能,甚至直接编写的后端业务逻辑代码。看着屏幕上飞速生成的代码,我曾有一瞬恍惚:那些熬夜苦练的技术,是否已被时代淘汰?
好在使用几次AI生成代码后,我心里有了答案,以后可能会,但是还早。目前AI开发的水平很大程度上取决于指挥者的水平。会编程的人用AI确实能极大提高工作效率。要是没有扎实的基础、没有编程思维、看不懂代码的人去使用AI开发软件简直是灾难。
评论列表