像美团外卖这样的APP用一种开发语言,能开发得出来吗?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了像美团外卖这样的APP用一种开发语言,能开发得出来吗?相关的知识,希望对你有一定的参考价值。

参考技术A

像美团外卖这样的APP用一种开发语言,能开发得出来吗?答案是不能。

美团发展到现在可以说已经是一个【巨无霸】了,里面集成了很多很多功能,除了核心的外卖,还有 旅游 、 娱乐 、购物、出行,金融等等业务线,那么这么多复杂的业务根本不可能用同一种开发语言实现。

那么美团都用到哪些开发语言和技术了呢?下面就根据我的理解详细说一下。

前端是把产品的核心服务交给用户的呈现者,它的表述方式、展示形式以及交互逻辑都跟用户息息相关,都影响着用户使用产品的体验,也就是说直接影响产品的用户留存。

前端开发主要分为三大类型:Andriod、ios和PC(H5) ,android开发语言是Kotlin和Java,IOS开发语言是Object-c和Swift,PC(H5)开发语言就比较杂了,有JS、CSS、html,还有很多第三方的前端框架,比如Angular.js、vue.js、Bootstrap、JQuery等等。

关于后端的功能,这一点可以说是众说纷纭,主要需要考虑的是如何实现功能、数据的交互流程和存取、平台的稳定性与性能等。

那么后端都用到哪些开发语言和技术呢?

根据后端技术选型的标准,后端可选的开发语言和技术是非常多的。

比如Java体系的话,可以选用SpringMVC、Spring cloud、Hibernate,Mybatis、mysql、Redis、Memcache、zookeeper、Kafka......;

比如Python体系的话,可以选用Django、Flask、Tarnado、Web2py等,中间件都是通用的,Redis,MQ、MySQL、Kafka等都可以用在python体系中;

当然还有php、C、Perl等开发语言。


综上所述,美团这个巨无霸公司,随着业务线的扩展用到的技术肯定会越来越多,而且越来越复杂,技术快速变革的时代,适者生存的竞争性也会越来越激烈。

俗话说:罗马不是一日建成的,任何事都不可能一蹴而就,包含技术。在以后的发展中美团也会逐步更新自己的技术和开发语言的。

至少三种语言。后端一种语言(比如Java丶Go丶Python丶PHP等),后端语言及生态比较成熟。下面重点聊前端App开发。

前台两种语言(Android和iOS是不同的开发环境。比如Android用Java或者Kotlin,iOS采用Object C++或Swift),称之为Native开发。

当然创业公司可以用一种前端语言写App前端,这样就不需要Android和苹果分两种语言写,写一次代码可以编译成Android和iOS的App,现在通行的方案有Vue之类的DOM渲染模式,以及ReactNative方案(RN)。性能上RN优于DOM渲染但低于用Native开发的App。所以美团这种公司,一定是Native方式写App,但RN是初创项目不错的选择。

与RN竞争的还有一种新贵flutter,是google推出来的,但设计原理与RN不同,性能方面优于RN,只是目前生态不够健全,国内有闲鱼app是采用此技术。未来可能会占一席之地。

最后,其实App开发已经是强努之末,我觉得主流应该是朝PWA和小程序方向发展。

你好,开发譬如美团这种APP,用一种语言是实现不了的,一个APP有安卓和苹果两个操作系统,开发能在安卓iOS端应用的APP主流的开发语言和技术是很多的,如后台有JAVA、C++、PHP、Python等多种开发语言,前端有kotlin、HTML、css、jquery、ajax、bootstrap、angular.js、react、vue.js、node.js、swift、object-c等多种语言和框架。

一个APP的开发是需要前端技术和后台技术共同配合完成,这样的APP不论是功能还是性能都给用户很好的体验,单一开发语言毕竟技术支持有限,所以即使能开发出来,APP的用户体验也是不理想的。

一般APP有这几种开发组合模式:1、原生安卓iOS开发,前端:JAVA、kotlin、swift、object-c后台:JAVA、PHP、C++等后台技术,这种模式开发周期长,成本高,性能好;2、混合APP开发即hybrid app,前端以网页技术为主,穿插原生开发功能,兼具原生APP和web app的优点,如淘宝、微信等应用都是走的这个技术;3、web app,前端纯网页技术,后台为主流开发语言,这种模式开发速度快,成本低,界面体验可能弱一些。

可见开发一款APP大多数都是多种语言配合完成,谢谢阅读。

看完之前的评论,依然好奇为什么一个语言不能完全胜任。

前端跨平台的方案有react native,cordova,flutter等,如果需要兼容开发小程序,h5页面,可以采用taro来开发,一套代码,所有平台通吃。

后端的方案有服务端运行时nodejs,大数据背景下运用而生的数据库mobgodb,缓存解决方案redis,搜索工具elasticsearch,负载均衡ngix,基本上是需要什么就有什么

所以总结下来,一句话,一种语言可以实现类似美团这样的app和小程序。为什么美团使用的语言那么多,一大原因估计是美团app开发的早,当时前端技术不成熟,工具没现在这么多。

使用混合开发与C++ 进行跨平台开发,有好有坏。

C++ 进行跨平台开发

编写一次,随处运行。早在 2013 年,Dropbox 就采用上述策略进行移动开发,这背后的想法很简单:用 C++ 编写一次代码,而不是用 Java 和 Objective-C 编写两次。那时,整个移动工程团队相对还比较小,但需要支持快速增长的移动路线图。因此,公司希望找到一种方法,使这个小团队可以快速交付大量 Android 和 iOS 代码。

如今,Dropbox 完全放弃了这个策略,转而使用各个平台的原生语言(主要是 Swift 和 Kotlin ,这两种语言在刚开始制定移动策略时还不存在)。

Hybrid App混合开发

Hybrid App主要以JS+Native两者相互调用为主,从开发层面实现“一次开发,多处运行”的机制,成为真正适合跨平台的开发。Hybrid App兼具了Native App良好用户体验的优势,也兼具了Web App使用HTML5跨平台开发低成本的优势。

目前已经有众多Hybrid App开发成功应用,比如美团、爱奇艺、支付宝等知名移动应用,都是采用Hybrid App开发模式。

移动应用开发的方式,目前主要有三种:


几种模似都可以开发出应用,小应用无所谓,但是大流量应用,对图形要求高的如 游戏 等原生开发的效果还是最好

支付宝打开很慢,就是因为采用混合开发,使用人多了不如原生开发

不行的哦。任何你看到的应用和网页,都需要多个语言开发的,大的分比如前端和后端,用的语言都是不一样的

移动Web APP开发之实战美团外卖 高清无密 百度网盘

第1章 课程介绍

通过课程介绍,了解学习课程的必要性,所包含的知识点,课程安排,学习前提,课程收获,快速全面了解课程。

1-1 课程导学

第2章 移动web硬知识点

本章主要讲解移动web开发中必要掌握的基本知识,是进行后续学习的前提。从概述到开发调试方法,以及viewport视窗概念和原理的讲解,在到移动web开发关键布局技能和适配方案,最后讲解移动web中常用的touch事件。

2-1 移动web开发概述

2-2 移动web开发调试

2-3 移动web适配概述

2-4 viewport视窗概念

2-5 css3之flex布局

2-6 响应式布局和MediaQuery

2-7 rem,vw布局与适配

2-8 移动端touch事件详解

第3章 移动web软技能

本章主要讲解移动web开发实战中用到的相关知识点。从基本代码工具的介绍到项目构建的基本概念,同时预先给大家介绍webpack和Sass的基本使用方法,帮助基础弱的同学以便于进行后续的学习,最后教大家如何使用React组件化思想开发页面。...

3-1 代码管理工具&项目构建工具简介

3-2 webpack工具使用介绍

3-3 Sass预处理工具使用介绍

3-4 React组件化思想

第4章 项目开发构建环境搭建

本章主要讲解的内容都是为下章实战项目做准备工作的开发,包括项目的最终结果演示,同时会讲解如何使用webpack来从0搭建配置一个项目的构建环境和基本的Redux使用方法,以便于对Redux不熟悉的同学巩固一下相关知识。

4-1 项目和技术栈介绍

4-2 项目演示

4-3 构建环境搭建(1)

4-4 构建环境搭建(2)

4-5 构建环境搭建(3)

4-6 构建环境搭建(4)

4-7 redux-react使用介绍(1)

4-8 redux-react使用介绍(2)

第5章 美团APP—首页开发

开发首页,讲解通过React+Redux实现页面基本逻辑,使用flex进行页面布局,引入rem进行页面适配,实现tab切换,滚动加载逻辑,以及事件绑定逻辑。

5-1 底部tab按钮开发(webpack-dev-server配置)

5-2 底部tab按钮开发-UI逻辑编写(1)

5-3 底部tab按钮开发-UI逻辑编写(2)

5-4 底部tab按钮开发(rem配置)

5-5 底部tab按钮开发(集成ESlint)

5-6 底部tab按钮开发(集成HMR)

5-7 首页页面开发Header模块开发

5-8 首页页面开发SearchBar模块开发

5-9 首页页面开发-Category模块开发(1)

5-10 首页页面开发-Category模块开发(2)

5-11 首页页面开发(ContentList模块开发)

5-12 首页页面开发-ListItem模块UI开发

5-13 首页页面开发-ListItem模块样式开发

5-14 首页页面开发-ListItem模块数据渲染开发(1)

5-15 首页页面开发-ListItem模块数据渲染开发( 2 )

5-16 首页页面开发(滚动加载逻辑实现)

5-17 订单页面开发(List模块开发)

5-18 订单页面开发(OrderItem模块开发)(1)

5-19 订单页面开发(OrderItem模块开发)(2)

5-20 订单页面开发(公共ScrollView模块开发)

5-21 我的页面UI开发

5-22 我的页面样式开发

5-23 集成react-router

第6章 美团APP—评价和分类页开发

开发评价页和分类页,讲解使用div+overflow实现局部滚动,移动端输入框相关使用技巧以及css伪类实现星型icon。

6-1 分类页面开发(顶部NavHeader模块开发)

6-2 分类页面开发(顶部Header tab 模块UI开发)

6-3 分类页面开发(顶部Header模块样式和逻辑开发)

6-4 分类页面开发(Filter面板模块“全部分类”数据渲染开发)

6-5 分类页面开发(Filter面板模块“排序和筛选”数据渲染实现

6-6 分类页面开发(Filter面板模块样式开发)

6-7 分类页面开发(Filter面板模块item逻辑实现)

6-8 分类页面开发(列表List模块开发)

6-9 评价页面开发(UI开发)

6-10 评价页面开发(样式开发)

6-11 评价页面开发(交互逻辑开发)

第7章 美团APP—详情页开发

开发详情页,讲解点菜选择器相关逻辑,通过React组件化对之前页面的公共组件进行抽离,通过封装scrollview实现评价tab的数据加载,以及使用css伪类实现1px边框。

第8章 美团APP—回顾与性能优化

通过nodejs和express实现后端数据的代理,通过设置cookie来实现对美团外卖真实数据的请求。对首面和详情页的tab加载逻辑进行懒加载和对之前的滚动加载逻辑优化,同时通过构建来完善页面请求资源的优化。打包并发布到腾讯云。...

第9章 美团APP与hybrid深度结合

本章主要围绕Hybrid进行讲解,使用OC代码带领大家开发一个简单的webview组件,同时讲解web和native之间的通信机制,并开发jsbridge接口完善美团外卖项目,让项目看起来更像是一个真正的APP。

 

下载地址: 百度网盘

以上是关于像美团外卖这样的APP用一种开发语言,能开发得出来吗?的主要内容,如果未能解决你的问题,请参考以下文章

移动Web App开发之实战美团外卖 网盘云分享

好课资源共享:13移动Web App开发之实战美团外卖

云好课分享*移动Web App开发之实战美团外卖#百度网盘分享:会员免费

移动Web APP开发之实战美团外卖 高清无密 百度网盘

云好课分享=移动wEB App开发之实战美团外卖*百度网盘分享;会员免费

纯 Dart 的挑战:美团外卖 Flutter 动态化实践