希望软件工程,程序员能看到这个问题,完全零基础想要开发应用,比如VPN应该学习哪些技术?

使用CN2/CN2GIA顶级线路,支持Shadowsocks/V2ray科学上网,支持支付宝付款,每月仅需 5 美元
## 加入品葱精选 Telegram Channel ##

品葱用户 说实话就被封号 提问于 9/9/2020

就是完全零基础,想报名培训班去学习,应该选择哪个方面?

比如谷歌商店里的vpn都是用什么技术开发的?

看了好多培训机构的课程,有python,java, go, linux运维,前端等等。

该选择哪个?

希望专业的程序员,软件工程师能解答,非常感谢。

品葱用户 unchained_wen 评论于 2020-09-09

说实话,写个VPN还属于比较进阶的开发了。

1,最大的头就是 计算机网络知识
2,掌握至少一门编程语言
3,多线程/异步IO 要搞清楚,就算你用GO来写,也至少要知道原理

以上的话,你可以写一个VPN的核心,类似 v2ray-core, clash-core,他们可以用作服务器,也可以用作客户端,但是客户端呢一般还要搞下UI

比如你要做成App,如果你要跨平台(PC, MAC, Android,Linux) 的客户端,那么你需要:
1,至少一种 跨平台的 UI框架
2,和该平台相关的系统知识
3,如果Android平台,那么需要JNI调用等等这些知识,如果是要Android原生,那么还需要懂Android SDK和Java或者Kotlin。

如果还要iOS端,那么:
1,iOS的Network Extension 需要了解
2,UIKit或者SwiftUI一种
3,swift或者Objective-c中的一种语言
4,需要高效的话,那么C语言。

品葱用户 默默无闻者 评论于 2020-09-10

同上,语言是次要的,重要的是通信原理。几个优秀的代理软件 v2ray, ss(ssr) 在github 上都有源码,可以自己找来看看。 vpn 项目没有太关注 

了解这个最好了解是了解下历史, ssh tunnel 开始的逐渐演进

品葱用户 JohnDoe 评论于 2020-09-10

语言是次要的,要做vpn需要了解网络编程的原理,可以去找点网课学一下。

品葱用户 范松忠 评论于 2020-09-09

不用学习哪些技术,疯狂支持无界和自由门,让它们永远不会被封住,然后广传,就人人都能翻墙了。

品葱用户 pincongjue 评论于 2020-09-08

go吧,简单易懂,适配性好
尤其适合各种跨平台的轻量级应用
著名翻墙软件clash就是基于go开发的

品葱用户 ThinkDiff 评论于 2020-09-09

LZ先明确自己想要写什么…… 
以及不同平台用的语言都不一样
iOS/macOS: Swift
Android: Java/Kotlin
Windows: C#
Web: JavaScript

零基础的话建议从Java/Python开始学起。

品葱用户 华国锋 评论于 2020-09-10

零基础先学习如何自我学习。不然如果自己不能给自己开出书单,问题一个个问下去得累死你。

品葱用户 刁民近海平地为王 评论于 2020-09-10

有经验的人去学技术,学了就能用上,没经验,一窍不通,给你积木也搭不起来。
如果你的想法是从服务器到客户端,通通自己搞定,没经验搞的慢,时间一长消耗斗志,一鼓作气,再而竭,三而衰。
所以你需要一个工作,让自己变得不那么零基础,

品葱用户 trtrtr2 评论于 2020-09-10

https://images.weserv.nl/?url=https://telegra.ph/file/1e414a9c83d9eaf563e0a.jpg

骚年有想法!

盲猜一下,能开发出VPN的程序员,大概在程序员群体里不足5% 

粗略说下目前能想到的需要掌握的知识

1. 编程语言 
1.1 服务端开发,c/c++/rust/go/python 得会一个
1.2 客户端开发,kotlin/swift/java/js/dart 得会一个

2. 网络通信理论,比如网络架构,各个分层的通信协议

3. 服务端系统编程(linux socket编程)
3.1. *nix的常用操作
3.2. 服务器运维知识
3.3 云服务器怎么买,怎么配

4. 客户端编程 (ios, android, pc, mac,浏览器插件)
4.1 如何注册成为某平台开发者
4.2 应用如何打包发布

5. 现有翻墙工具的设计思路

6. 墙的工作原理

如果只是开发普通应用的话,学会js就行了,其他都可以不学。web/node应用也是应用(狗头

点击品葱原文参与讨论

最简单好用的 VPS,没有之一,注册立得 100 美金
comments powered by Disqus

See Also

推荐几个非常硬核的公众号

今天推荐几个优质的公众号,他们有态度、有温度、有质量,值得拥有。 stormzhang ID:googdev 张哥可以算是每个技术人的榜样,前码农&产品人,现在成功转型成为一名自由职业者,创业者。另外,张哥也是公众号领域为数不多的同 …

感觉中国程序员前景一片灰暗,是这样吗?

知乎用户 talktomyself 发表 嗯,是的。 但是并不是因为技术更新快,涌入人员多。 国外的软件行业这些问题都有,但是并没有内卷到这种程度。 如果说是因为国外人少,我承认,有这个原因,但绝不是全部。 我国互联网行业的管理其实是特别具 …