
像美团外卖这样的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开发模式。
移动应用开发的方式,目前主要有三种:
几种模似都可以开发出应用,小应用无所谓,但是大流量应用,对图形要求高的如 游戏 等原生开发的效果还是最好
支付宝打开很慢,就是因为采用混合开发,使用人多了不如原生开发
不行的哦。任何你看到的应用和网页,都需要多个语言开发的,大的分比如前端和后端,用的语言都是不一样的
本次设计的《网上购物系统》是采用JSP、JAVABean、Servlet、C3P0、JSTL、mail、以及JDBC等技术综合开发出来的网上购物系统。前台的主要功能包括登录、注册、分类查询商品信息、搜索商品、购物车管理、订单管理和在线支付等,后台的主要更能包括管理员登陆、商品分类的增删改查、商品的增删改查、订单分状态的查询以及在订单中对已付款的订单进行发货。针对本系统的开发设计和各项需求,包括软件需求说明书、开发计划、设计报告等,在论文中进行了详细的介绍,并针对详细的设计、编写及报告的书写规范进行了阐述。
功能需求
网上购物系统,目的是在网络上建立一个虚拟的购物商城,避免了挑选商品的烦琐过程,使购物过程变得轻松、快捷、方便,很适合现代人快节奏的生活。主要包括基础登录、注册、商品分类显示、搜索功能、购物车管理、订单管理、在线支付、后台管理员登录、后台商品管理(CRUD)、分类管理(CRUD)、订单查看以及做出管理员发货。
功能描述:
(1) 前台
a 分类查询
该模块主要是可以让用户可以按分类进行查看商品,这样减轻了用户一下查看浏览商品的臃肿。
b 搜索
该模块主要是可以让用户可以根据自己想要的物品来进行查看,这样更有效的让用户找到自己想要的商品。
c 购物车
该模块主要是用户查看过商品后,如果喜欢可以直接添加购物车,然后可以继续浏览商品,达到了一起结算商品的效果。
d 订单管理
该模块主要是用户可以查看自己所有的订单,并显示订单的状态,用户可以在订单中付款以及确认收货。
e 在线付款管理
该模块主要是用户挑选完商品后,可以直接在线支付,实现了无纸化交换。然后用户就可以坐等商品了。
f 用户管理
该模块主要是用户注册、登录。当未登录时用户不能进行商品的购买,并且在注册的时候需要验证邮箱。
(2) 后台
a 分类管理
该模块主要是管理员可以直接进入后台对前台显示的分类进行增删改查。并直接同步到前台。
b 商品管理
该模块主要是管理员可以直接进入后台对前台显示的商品进行修改、下架、以及添加商品。并直接同步到前台。
c 订单管理
该模块主要是管理员可以直接进入后台所有用户的所有订单,进行查看以及发货的功能。并直接同步到前台。
2.5 系统特点
页面模块化:系统在界面设计上采用了模块化处理思想,把很多页面共有部分集成一个模块。
系统界面应美观大方,易于接受,方便的规范管理。
85488c2fb5b3d888ce44e6df825f07ad.png
34b9b8924783e8920a945f67e6fbf1a5.png
76c4559d5141e04b98bb072b935dd803.png
252947c47e12b34fffe35c92faea2205.png
b7aea0387fff3df804b24da24e9ab9d1.png
a73ed3f05e3d4764913bf77f4369850a.png
2d26a30bcc4ff6b63ad0d9de49ab0e7d.png
e05b786d64af86289476d28d370c3899.png
目 录
摘 要I
ABSTRACTII
1 绪论1
1.1 项目背景和意义1
1.2 基本原理1
1.3 开发工具2
2 需求说明3
2.1 概述3
2.1.1 文档目的3
2.1.2 需求分析目的3
2.1.3 项目对象范围3
2.2 任务概述4
2.2.1 系统概述4
2.2.2 目标4
2.3 性能需求4
2.4 功能需求5
2.5 系统特点6
2.6 运行需求7
2.6.1 用户界面7
2.6.2 硬件接口7
2.6.3 软件接口7
3 系统解决方案8
3.1 JAVA 简介8
3.2 JDK 简介8
3.3 B/S架构8
3.4 JSP简介9
3.5 MVC简介10
3.6 功能模块设计11
3.6.1 前台模块设计11
3.6.2 后台模块设计12
3.7 系统功能流程图12
3.7.1 系统登陆流程图12
3.7.2 数据添加流程图13
3.8 数据库详细设计13
3.8.1 用户信息表13
3.8.2 商品分类表14
3.8.3 商品表14
3.8.4 订单表15
3.8.5 订单项表15
4 网上购物系统的运行效果及实现(前台)16
4.1 首页设计16
4.2 用户模块17
4.2.1 用户注册17
4.2.2 用户登录18
4.2.3 用户退出19
4.3 商品模块19
4.3.1 商品列表19
4.3.2 商品详细19
4.4 购物车20
4.4.1 添加商品到购物车20
4.4.2 我的购物车21
4.4.3 删除条目21
4.5 订单模块21
4.5.1 生成订单/支付页面21
4.5.2 订单列表22
4.5.3 订单状态23
5 网上购物系统的运行效果及实现(后台)24
5.1 管理员登录24
5.2 后台主页24
5.3 分类管理25
5.3.1 分类列表25
5.3.2 添加分类25
5.3.3 修改分类26
5.3.4 删除分类26
5.4 商品管理26
5.4.1 商品列表页面26
5.4.2 添加商品27
5.4.3 商品详细27
5.5 订单管理28
5.5.1 订单列表28
5.5.2 订单发货29
6 系统测试30
6.1 测试的目的与目标30
6.2 测试方法30
6.3 测试用例30
6.4 测试结论31
结束语32
致谢33
参考文献34
相关资源:PHP+MYSQL—食品购物管理系统(前端+后端全套源码)-PHP文档类资源...
文章知识点与官方知识档案匹配
MySQL入门技能树设计优化反范式设计
28659 人正在系统学习中
打开CSDN,阅读体验更佳
基于PHP+MySQL的小型购物系统网站_biyezuopinvip的博客
现在点击查看购物车,发现购物车是空的,让我们点击“继续购物”去添加商品吧~ 点击任意物品加入购物车,自动跳转到购物车界面: 如果要改变物品数量,只要改变输入框内的内容,然后点击保存更改即可,如果输入 0,系统会自动从购物车中删除这个...
继续访问
...系统(建表语句、检索语句)_比个柒的博客_mysql购物系统
mysql>delimiter$$ mysql>createproceduretest1()->begin->selectt2.`name`asp_name,t2.type,sum(t1.gm_num)asnum->fromcarast1->leftjoinproductast2ont1.pid=t2.id->groupbyt2.id->end$$ Query OK,0rowsaffected(0.04sec...
继续访问
最新发布 基于javaweb+mysql的简单购物车
基于javaweb+mysql的简单购物车 运行环境 Java≥8、MySQL≥5.7、Tomcat≥8 开发工具 eclipse/idea/myeclipse/sts等均可配置运行 适用 课程设计,大作业,毕业设计,项目练习,学习演示等 功能说明 注册、登录、注销 商品加入购物车,查看购物车,删除购物车中的商品和清空购物车 生成订单,查看历史订单及订单详情等 技术框架 **JSP Servlet MySQL** JDBC Tomcat
继续访问
网上购物平台数据库设计
该文档详细介绍了电商平台后台数据库开发流程,对没有开发经验的人员具有参考意义。
基于Java的网上购物系统的设计与实现【附源码】
本文主要通过对系统的前台系统和后台管理系统进行了功能性需求分析,对系统的安全性和可扩展性进行了非功能性需求分析。在详细的需求分析的基础上,根据系统的功能设计确定了数据库结构,实现完整的代码编写。网上购物系统使用 Dreamweaver、MyEclipse代码编辑器、Tomcat服务器等开发工具,完成了系统的主要模块的页面设计和功能实现。本文展示了首页页面的实现效果图,并通过代码和页面介绍了用户注册功能、商品搜索功能、加入订单和查看订单功能、生成订单和查看我的订单功能、在线付款功能以及商品推荐功能的实现过程。
jsp mysql购物系统
一个完整的系统,下载后连上数据库就能用,特别不错
网上购物系统数据库设计
该数据库用于网上购物系统,能够支持一般网上超市的网上营业。
基于JavaMaven+MySQL的网上B2C商城系统前后台设计
id=15217另一部分是商城的后台,是管理员用来管理商城的,这部分包括,商成数据展示、商品分类管理、商品信息管理、会员管理、订单管理。2.用户提交后会对表单数据进行校验,用户名不可用重复,邮箱格式也必须正确且不允许重复,密码用户自定义,重复密码需要与密码栏书写一致,防止用户 *** 作失误输入错误的密码。登录模块、注册模块、首页商品列表显示模块、商品列表显示模块、 商品详情模块、购物车模块、收获地址模块、订单模块、个人中心模块。6.5 测试设计与测试结果 40。6.4 测试需求分析 39。
继续访问
python+mysql基础项目:商场购物+管理系统
利用python和mysql来实现简易商场购物和管理系统
继续访问
网上商城系统MySql数据库设计项目实战
网上商城系统MySql数据库设计
继续访问
使用MYeclipse写的注册登录页面
注册页面 因为doget的内容和dopost的内容相同,所以doget调用了dopost。 由于个人 *** 作失误,这张图片与上面一张图片位置反了 登录页面
继续访问
myEclipse实现购物车
使用JDBC数据库驱动及 *** 作数据及使用JSP内置对象的使用 开发一个简易购物车程序
如何制作自己的网页java_怎样制作自己的购物网站页面?
如果是自己去做一个购物网站,推荐你采用以下步骤一、项目大致分析我这个网站做来干什么,有什么用,几个人做,多长时间做完,采用什么架构,需要用到什么技术等。二、具体分析既然是用Java做,你就不得不用面向对象的思维来分析问题。首先,找出整个项目中的实体及属性比方说,你这个系统至少应该抽象出这么几个实体用户(用户编号、用户名、密码、性别等其他信息)商品(商品编号、商品名、商品分类、单价、描述等信息)商品...
继续访问
mysql购物数据表_购物商城数据库设计-商品表DDL(Mysql)
大家好,之前我们设计了购物商城的商品表结构(原文链接),现在我们来具体实现表的DDL。下载地址:前往下载新建一个数据库,名字叫mall,基字符集:utf-8,:数据库排序规则:utf-8_general_ci对于商品模块,统一使用goods_做前缀。首先是两个比较简单的表:分类表和品牌表分类表:CREATE TABLE `goods_category` (`id` bigint(20) unsig...
继续访问
mysql数据库原理及设计_MySQL数据库原理、设计与应用
内容简介本书是面向MySQL数据库初学者推出的一本入门教材,以通俗易懂的语言、丰富实用的案例,详细讲解了MySQL的开发和管理技术。全书共12章。第1章讲解了数据库基本概念和MySQL的安装步骤;第2~3章讲解了数据库的基本 *** 作,第4章讲解了数据库设计的理论与实践;第5~6章讲解了单表和多表的查询 *** 作;第7~11章讲解了用户与权限、视图、事务、存储过程、索引等,适合需要提高自身技术的读者;第12章...
继续访问
基于JAVA的网上购物系统设计_基于Java的网上购物系统的设计与实现
访问等关键事务,只负责显示部分,所以维护人员不再为程序的维护工作奔波于每个客户机之间,而把主要精力放在功能服务器上程序的更新工作。这种三层结构在层与层之间相互独立,任何一层的改变不会影响其它层的功能。2.4 系统主要技术简介SSH 为 struts+spring+hibernate的一个集成框架,是目前较流行的一种Web应用程序开源框架。集成SSH框架的系统从职责上分为四层:表示层、业务逻辑层、数...
继续访问
基于JSP+Servlet+MySQL简单的购物商城系统
基于JSP+Servlet+MySQL简单的购物商城系统,包含普通用户,整体功能包含登陆注册,商品浏览,搜索,添加购物车,购物车管理,订单管理等。后端框架: Spring+SpringMVC+Mybatis。后端框架: Spring+SpringMVC+Mybatis。基于JSP+Servlet+MySQL简单的购物商城系统。开发工具: Idea/Eclipse。开发工具: Idea/Eclipse。前段框架:jquery/Jsp。前段框架:jquery/Jsp。数据库: mysql。
继续访问
热门推荐 (三)购物商城数据库设计-商品表DDL(Mysql)
大家好,之前我们设计了购物商城的商品表结构(原文链接),现在我们来具体实现表的DDL。对于建表规范,可以参考本系列第一篇文章:前期准备 下载地址:前往下载 新建一个数据库,名字叫mall,基字符集:utf-8,:数据库排序规则:utf-8_general_ci 对于商品模块,统一使用goods_做前缀。 首先是两个比较简单的表:分类表和品牌表 分类表: CREATE TABLE...
继续访问
MyEclipse2015破解安装与使用
现在进行Java、CSS、JavaScript开发的越来越多了,没有一个合适的便利的编译器怎么能提高开发效率呢?俗话说“工欲善其事必先利其器”,一个优秀的编译器除了具有良好的代码提示功能、美观的界面、便捷的安装配置与快捷按钮等除外(大神除外,对于他们来说使用集成开发环境IDE来说就是多余的,只需要简单的文本编译器各种代码就可以手到擒来),还需要将众多的开发工具集中在一起,这样开发起来就会更加的高效...
继续访问
java购物网站怎么做_用JAVA写的一个购物网站
【实例简介】自己用JAVA写的一个购物网站 主要用了JSP+SERVLET 技术 发生来跟大家交流一下 有什么宝贵意见可以提【实例截图】【核心代码】Shopping└── Shopping├── WebContent│ ├── Addgoods.jsp│ ├── Backorder.jsp│ ├── GoodsDetails.jsp│ ├── Goodsview.jsp│ ├─...
继续访问
用asp.net写的一个购物网站
基于ASP.Net写的一个购物网站 文章目录基于ASP.Net写的一个购物网站一、数据库设计二、登录注册三、功能说明以及运行1.首页2.商品分类3.热门零食4.推荐零食5.商品详情页6.我的购物车总结 一、数据库设计 二、登录注册 1.登录界面 2.注册界面 首先先在数据库表users中插入几条数据,表示这是已经注册过的用户,如果在登录时,输入的用户名和密码和数据表中的数据一致,则表明该用户存在,则会显示登录成功,并跳转到首页页面去。如果用户之前没注册过,需要先注册,注册的用户名不能重复,如果用
继续访问
Java web 购物网站开发
Java web 购物网站开发 开发工具 MyEclipse SQL sever 2008 Dreamweaver Tomcat 管理系统的网页是套的模板,购物网页以及所有功能的实现自己写的,下载内容包括数据库。 如果Tomcat打不开端口要么改8005,8080,8009或8885,8888,8889. 提取码:kl5j 下载地址
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)