腾讯QQ的开发分客户端软件和服务器端软件两部分。
客户端采用 Microsoft Visual C++开发;
服务器端软件采用Linux gcc开发 ;
数据库采用MySql 数据库。
腾讯QQ采用标准的TCP/IP协议为通信协议。
腾讯QQ客户端之间的消息传送也采用了UDP模式,
这不同于国外的ICQ在客户端之间采用TCP进行通讯的模式
哔哩哔哩
- 前端开发:Bilibili 使用了 React.js 和 Vue.js 等现代 JavaScript 框架进行前端开发,以提供更快的页面加载速度和更好的用户体验。
- 后端开发:Bilibili 的后端开发主要使用了 Java 和 Go 两种语言,并使用了大量的分布式系统技术,如 RPC(远程过程调用)、MQ(消息队列)等。
- 数据库技术:Bilibili 使用了多种数据库技术,包括 MySQL、Redis、Elasticsearch 等。其中,Elasticsearch 被用于搜索引擎,Redis 用于缓存,MySQL 用于存储用户信息、视频信息等核心数据。
- 大数据技术:Bilibili 的大数据平台使用了 Hadoop、Spark、Kafka 等技术,用于分析用户行为、生成推荐系统等。
- AI 技术:Bilibili 还在推荐算法、自然语言处理、图像识别等领域使用了 AI 技术,以提供更好的用户体验。
- 容器技术:Bilibili 使用了容器化技术,如 Docker 和 Kubernetes 等,来管理应用程序和服务,以便更快地部署和扩展系统。
- CDN 技术:Bilibili 使用了全球 CDN(内容分发网络)技术,以提供更快的网站加载速度和更好的视频播放体验。
- 移动端开发:Bilibili 的移动应用程序主要使用了 React Native 和 Flutter 等跨平台框架进行开发,以同时支持 iOS 和 Android 平台。
- 安全技术:Bilibili 使用了多种安全技术,如 Web 应用程序防火墙、反爬虫技术、数据加密和备份等,以保护用户的隐私和数据安全。
- DevOps:Bilibili 还积极推行 DevOps 理念,以提高开发和运维效率,加快产品交付速度,减少故障时间和改善用户满意度。
- 云计算:Bilibili 使用了云计算技术,如阿里云和腾讯云等,以满足其不断增长的业务需求,并能够快速扩展和缩减其服务器资源。
- 微服务架构:Bilibili 运用微服务架构将应用程序拆分成多个小型、自治的服务,每个服务只关注自己的职责,使得开发、测试和部署更加容易和快速。
- 分布式存储:Bilibili 使用了分布式存储技术,如 HDFS 和 Ceph 等,以支持其海量视频和用户数据的存储和访问。
- 高可用性:Bilibili 的架构采用了多种高可用性技术,如负载均衡、自动故障转移、多活数据中心等,以保证系统的可靠性和稳定性。
- 开源软件:Bilibili 也贡献了多个开源软件项目,如 MySQL 高可用集群管理工具 TIDB,以及基于 Go 的高性能网络框架 Kratos 等。
- GraphQL:Bilibili 采用 GraphQL 技术来实现前端与后端的数据交互,GraphQL 可以帮助前端开发者更好地描述所需数据的结构和关系,减少请求次数和数据传输量,提高性能和用户体验。
- DevSecOps:Bilibili 将安全集成到 DevOps 流程中,采用自动化测试、漏洞扫描、代码审查、安全监控等手段,以确保应用程序和服务的安全性和可靠性。
- Serverless:Bilibili 使用 Serverless 技术,如 AWS Lambda 和云函数等,以部署和运行无服务器的应用程序和服务,减少资源浪费和管理成本,提高开发和部署效率。
- 消息中间件:Bilibili 使用了多个消息中间件,如 Kafka、RabbitMQ 等,以实现异步任务处理、解耦和缓冲系统间的通信,提高系统性能和可扩展性。
- 日志和监控:Bilibili 使用了多个日志和监控工具,如 ELK、Prometheus、Grafana 等,以收集和分析应用程序和服务的日志、指标和报警,快速发现和解决问题
微信
1、iOS平台开发语言为Objective-C,开发者一般使用苹果公司开发的ios sdk 搭建开发环境, iOS SDK是开发iPhone和iPad 应用程序过程中必不可少的软件开发包,提供了从创建程序,到编译,调试,运行,测试等一些列开发过程中所需要的工具。
2、安卓 Android开发语言为java,开发者一般是用谷歌公司开发的android sdk搭建开发环境,使用Java进行安卓应用的开发。