百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

产品经理从0到1:不懂技术也能愉快地与开发相处

ccwgpt 2025-03-01 13:09 89 浏览 0 评论

这篇文的起因来自NEXT主办的keynote,主讲是墨刀的张元一。听完照着笔记梳理了下这次演讲的逻辑,基本可以给0基础的产品科普下技术常识。但邀请程序员来科普有两大问题:一是有些入门门槛,小白问题被生生忽略了(也可能是我太弱了T.T);二是表述能力短板,后来我整理笔记时,发现大神的思路其实很清晰,演讲时硬是没听出来也是醉了T.T

感谢大神的分享,按照大神的分享框架,我又补充了一些资料,整理了这份尽量通俗易懂的普及文,供如我一样0技术基础的产品补课。

0 什么是前端?什么是后端?

其实这个部分,元一没有讲的特别通俗易懂(大概是高手不屑于普及这种小白问题T.T),我倒是在知乎上看到一个很赞的说法:在你手机(电脑)上跑的代码是前端,在机房里跑的代码是后端。……太形象了!

说得正经点:现在的网站都是MVC(Model View Controller)架构,就是 业务模型(model)-用户界面(view)-控制器(controller)。这三个层次共同组建了一个网站。

MVC

业务模型(model)指的是数据和业务规则,就是在数据库中存储这些数据,并处理这些数据间的逻辑。

用户界面(view)就是呈现在用户眼前的这些界面,标题在什么位置,用什么字体,右下角要放个什么图片,之类的。

控制器(controller)处理用户交互,从界面(view)读取数据,向业务模型(model)发送数据。 前端工程师,一般负责VC的部分;后端工程师,则负责M的部分。但各个公司对前端和后端的工作划分并不完全一致,有些工作前后端都可以做。

1 前端

1.1 前端主要语言

1)Html:全称HyperText Markup Language,搭建网页的基础语言。文档写起来并不复杂,但是功能很强大,而且什么平台都能用,什么电脑都能用。

2)CSS:但是想网页更精美更酷炫,就需要用到CSS语言了。CSS能够对网页中对象的位置排版进行像素级的精确控制,支持几乎所有的字体字号样式,拥有对网页对象和模型样式编辑的能力,并能够进行初步交互设计,是目前基于文本展示最优秀的表现设计语言。

3)Javascript:如果想要网页有更酷炫的交互,就要用到Javascript。它是通过嵌入到html中来实现自身功能,主要用于添加交互行为,可以在多平台下运行(如Windows、Linux、Mac、Android、iOS等),还可以控制cookies,等等吧。

4)jQuery:这是一个时下最流行的Javascript库,主要面向查询(Query)。简单理解,就是javascript里面那些需要用一行行代码实现的体力活,在jQuery里面可以直接打包成模块,调取对应的接口使用,解放了开发者更多的时间。这种模块化的使用方式让开发者可以很快就开发出酷炫的页面。

5)Bootstrap:Bootstrap也是对Javascript进行封装,它在jQuery的基础上进行更加人性化的完善,其实就是更方便了。它有很多现成的组件,比如导航栏、下拉菜单、按钮,都定义好了样式和交互,直接成套拿来用就行了。

这么看上去,前端语言的内在关系就比较好理解了,举个栗子:好比一个互联网产品就是一个妹纸,html是搭建了她的身体,这个是基础(要先有个妹纸);CSS是给她穿上漂亮衣服;Javascript是教会她化妆,先隔离后粉底,先眼线后睫毛;jQuery是把化妆进行整合,主要负责实现“一个步骤无瑕底妆”;Bootstrap也是对化妆进行整合,主要负责实现“一个步骤清纯大眼妆”和“一个步骤性感唇妆”,渐渐地,html搭建出来的妹纸就变成女神了……

(我怀疑这么写程序猿们会看不懂哈哈哈哈哈)

1.2 如何评估前端的能力?

此段完全copy元一的PPT,从初阶到高阶分别为:

?只会基本的HTML/CSS, 可以将设计图转化为HTML/CSS, 俗称切图

?懂一些Javascript,主要是使用现成的框架,jQuery,Bootstrap等等

?知道jQuery,Bootstrap的局限,在需要时可以直接编写原生JS/CSS

?对JS/CSS非常了解,热衷于利用浏览器的各种最新特性实现各种炫酷效果

?可以根据需要写出封装良好的JS类库或者开发框架 恩,非技术出身的CEO们可以心里有谱了……

2 后端

2.1 后端语言

1) C#/Java:这两者都是名声显赫的程序设计语言,功能强大且完善。但入门难度也比较高,复杂。

2)PHP:PHP最早是Personal Home Page的缩写(就是这么直白!任性!),后来更名为Hypertext Preprocessor,就是超文本预处理器。PHP的优势是可以被嵌入html语言,所以实用性强、入门简单、容易上手,但缺点同样很多,因为是开源没有标准框架,等等吧。

3)Ruby:Ruby是一种面向开发者的语言,语法简单(“懂英语的人都能学会”——张元一),注重人性化,而不是一味从机器的角度着想。所以Ruby的优点就是易懂易上手,开发效率高,但数据量大时性能不足。

4)Node.js:这是基于Javascript的一种语言,适合有前端基础的人进入后端使用;采用异步编程模型,处理高并发时有性能优势。

5)Lisp:号称业界最强的编程语言没有之一,更多是Geek和科学家们的钟爱。有兴趣可以去多了解一下,作为入门科普就不多研究了。

6)无后端:一些移动应用初期可以没有后端,实现项目的快速启动。无后端(noBackend)致力于让构建一个应用的过程变得更简单,实际上是通过前端代码抽象成后端接口。可用的工具有Facebook Parse, Google Firebase以及国内的LeanCloud。

2.2 数据库

数据库是按照数据结构对数据进行存储、组织和管理的库。你可以简单地把数据库想象成公司的文件柜,每个柜子里放不同的文件,通过柜子编号可以找到你要的资料;把资料放进去时,也放到对应编号的柜子里去。而在数据库中,还涉及到数据的不同类型、数据间的映射关系等等的信息。

数据库有很多种类型,常见的有ORACLE、DB2、SQL Server、Sybase、Informix、MySQL、VF、Access等等(是的,这些都是不同类型的数据库),这里主要介绍的时MySQL和MongoDB。

1)MySQL:MySQL是一个关系型数据库管理系统。什么是关系型?就是说有关联的数据是保存在同一个表内,而不是把所有数据堆在一起,这样查起来就很方便。MySQL的优点是体积小、速度快、成本低,是很多中小型网站的首选。但是,关系型数据库的缺点是在海量访问并发和海量数据管理时的力不从心,而且对数据库的升级和扩展很麻烦,往往需要停机维护和数据迁移。这是令人难以忍受的。

2)MongoDB:MongoDB是一个基于分布式文档存储的数据库,介于关系型数据库和非关系型数据库之间,他可以支持很松散的数据结构,所以能够支持较复杂的数据类型;同时又能支持关系型数据库表单查询的大部分功能,所以在一定程度上集成了两者的优点。

2.3 服务器如何辨别用户是谁?

服务器辨别用户是通过Cookie和Session实现的。

1)Cookie:Cookie是一种数据,它由服务器生成,发送到你的浏览器,然后由浏览器保存到本地的某个文件夹里,等你下次再登陆这个网站时,浏览器就会把你的Cookie发送给服务器,这时服务器就知道了“啊原来又是你丫”。一条Cookie的生命一般是一个轮回,就是当你第二次登录网站时,第一次登陆的那条Cookie会被覆盖;但也可以指定周期,比如“一个月内自动登陆”这种情况……

2)Session:Session实际上是一种时间的概念,就是你打开一个网站到关闭这个网站之间的时间。这段时间里,你在网站上的动作都被当做Session保存在服务器中,比如说“返回上一个浏览页面”这种动作,就是由Session实现的。Session保存在服务器上,关闭了网站怎么办?你的Session会被编上号,以SessionID的形式发送到浏览器,以Cookie的形式保存在本地,这就是Cookie和Session的亲密合作。

当然各个网站的策略不太一致,下次浏览某网站时,可以留意下自己的操作行为是如何被记录的。

3 移动开发

开发移动应用程序主要分为以下三种情况:

1)原生:指的是完全基于移动平台写代码(比如iOS平台支持Xcode和Objective-C,安卓平台支持Eclipse和Java),看上去外观最好,用起来性能最佳,实现的功能最多,当然也就比较费工夫。适合对速度、性能特别敏感的应用,如拍照、视频类,通常开发周期为4-6周;

2)HTML5:使用标准的Web技术(通常是HTML5、JavaScript和CSS),可以只编写一次就跨平台运行,更快做跨屏适配,效果很酷炫,但也有一些功能的局限,通常开发周期为1-2周;

3)混合式:就是将HTML5嵌入到原生器中,集成了以上两者的优点和缺点。适合已有web端产品,想以最低成本迁移到移动端,通常开发周期为3-4周。

大概就是这样了。一不小心写了将近3000字我也是蛮拼的……

本文作者莔莔有神(微信号:pokeclub)投稿发布,转载请注明来源于人人都是产品经理并附带本文链接

相关推荐

一个基于.Net Core遵循Clean Architecture原则开源架构

今天给大家推荐一个遵循CleanArchitecture原则开源架构。项目简介这是基于Asp.netCore6开发的,遵循CleanArchitecture原则,可以高效、快速地构建基于Ra...

AI写代码翻车无数次,我发现只要提前做好这3步,bug立减80%

写十万行全是bug之后终于找到方法了开发"提示词管理助手"新版本那会儿,我差点被bug整崩溃。刚开始两周,全靠AI改代码架构,结果十万行程序漏洞百出。本来以为AI说没问题就稳了,结果...

OneCode低代码平台的事件驱动设计:架构解析与实践

引言:低代码平台的事件驱动范式在现代软件开发中,事件驱动架构(EDA)已成为构建灵活、松耦合系统的核心范式。OneCode低代码平台通过创新性的注解驱动设计,将事件驱动理念深度融入平台架构,实现了业务...

国内大厂AI插件评测:根据UI图生成Vue前端代码

在IDEA中安装大厂的AI插件,打开ruoyi增强项目:yudao-ui-admin-vue31.CodeBuddy插件登录腾讯的CodeBuddy后,大模型选择deepseek-v3,输入提示语:...

AI+低代码技术揭秘(二):核心架构

本文档介绍了为VTJ低代码平台提供支持的基本架构组件,包括Engine编排层、Provider服务系统、数据模型和代码生成管道。有关UI组件库和widget系统的信息,请参阅UI...

GitDiagram用AI把代码库变成可视化架构图

这是一个名为gitdiagram的开源工具,可将GitHub仓库实时转换为交互式架构图,帮助开发者快速理解代码结构。核心功能一键可视化:替换GitHubURL中的"hub...

30天自制操作系统:第六天:代码架构整理与中断处理

1.拆开bootpack.c文件。根据设计模式将对应的功能封装成独立的文件。2.初始化pic:pic(可编程中断控制器):在设计上,cpu单独只能处理一个中断。而pic是将8个中断信号集合成一个中断...

AI写代码越帮越忙?2025年研究揭露惊人真相

近年来,AI工具如雨后春笋般涌现,许多人开始幻想程序员的未来就是“对着AI说几句话”,就能轻松写出完美的代码。然而,2025年的一项最新研究却颠覆了这一期待,揭示了一个令人意外的结果。研究邀请了16位...

一键理解开源项目:两个自动生成GitHub代码架构图与说明书工具

一、GitDiagram可以一键生成github代码仓库的架构图如果想要可视化github开源项目:https://github.com/luler/reflex_ai_fast,也可以直接把域名替换...

5分钟掌握 c# 网络通讯架构及代码示例

以下是C#网络通讯架构的核心要点及代码示例,按协议类型分类整理:一、TCP协议(可靠连接)1.同步通信//服务器端usingSystem.Net.Sockets;usingTcpListene...

从复杂到优雅:用建造者和责任链重塑代码架构

引用设计模式是软件开发中的重要工具,它为解决常见问题提供了标准化的解决方案,提高了代码的可维护性和可扩展性,提升了开发效率,促进了团队协作,提高了软件质量,并帮助开发者更好地适应需求变化。通过学习和应...

低代码开发当道,我还需要学习LangChain这些框架吗?| IT杂谈

专注LLM深度应用,关注我不迷路前两天有位兄弟问了个问题:当然我很能理解这位朋友的担忧:期望效率最大化,时间用在刀刃上,“不要重新发明轮子”嘛。铺天盖地的AI信息轰炸与概念炒作,很容易让人浮躁与迷茫。...

框架设计并不是简单粗暴地写代码,而是要先弄清逻辑

3.框架设计3.框架设计本节我们要开发一个UI框架,底层以白鹭引擎为例。框架设计的第一步并不是直接撸代码,而是先想清楚设计思想,抽象。一个一个的UI窗口是独立的吗?不是的,...

大佬用 Avalonia 框架开发的 C# 代码 IDE

AvalonStudioAvalonStudio是一个开源的跨平台的开发编辑器(IDE),AvalonStudio的目标是成为一个功能齐全,并且可以让开发者快速使用的IDE,提高开发的生产力。A...

轻量级框架Lagent 仅需20行代码即可构建自己的智能代理

站长之家(ChinaZ.com)8月30日消息:Lagent是一个专注于基于LLM模型的代理开发的轻量级框架。它的设计旨在简化和提高这种模型下代理的开发效率。LLM模型是一种强大的工具,可以...

取消回复欢迎 发表评论: