‘壹’ web app 开发使用哪个框架最好
1、Sencha Touch
Sencha Touch 是世界上第一个支持 HTML5 和 CSS3 标准的移动应用框架,你可以使用 HTML5
来编写音频和视频组件,还可以使用 LocalStorage Proxy 来存储离线数据,同时,大量 CSS3
样式表为你提供了创建健壮样式层的可能。
优点
• 用户体验最接近Native App, 具有整体的UI组件、布局解决方案;
• 统一的编程代码结构和要求,良好组织的代码易于维护;
• 继承ExtJS 4的应用程序MVC架构;
• 完善的API文档,示例;活跃的社区,网上有大量的文档书籍帮助学习;
缺点
• 兼容性差,仅支持webkit内核的浏览器;
• 框架比较重量级,学习成本比较高;
• 商业化使用有版权问题;
2、jQuery Mobile
jQuery Mobile 是创建移动 web 应用程序的框架。适用于所有流行的智能手机和平板电脑。 使用 HTML5 和 CSS3 通过尽可能少的脚本对页面进行布局。
优点
• 跨浏览器兼容性最好,几乎兼容所有的平台和浏览器;
• 入门简单,语法简洁,编码灵活,一些简单的应用直接用HTML既可实现,无需Javascript;
• 开源插件与第三方扩展网上资源丰富;
• 完善的API文档,示例;活跃的社区,网上有大量的文档书籍帮助学习;
缺点 • jQuery Mobile对代码没有特定的要求,后期维护难度较大;
3、Zepto
Zepto 就是一个 jQuery 的轻量级替代品,几乎完全一样的 API,但是专门为 Mobile 或者 HTML5 浏览器设计和优化。
优点
• 学习成本低,Zepto保持了与jQuery几乎一样的功能,使用gzip压缩只有5-10k;
缺点
• Zepto不支持Windows Phone下的IE ;
框架没有好坏之分,只是看哪款比较适合自己。
‘贰’ 如果说只学一门Web编程语言和框架,那推荐哪种组合呢
姑且分为三种情况:
第一,做WEB后端。如果你只做WEB后端,就不得不考虑今后的发展,最好学一门语言,这种语言可以在中间件和服务器开发底层都能用到,而且能有优势。推荐Python,Go,这两种都比较稳,而且在中间件的开发中也有优势。当然如果你是个喜欢新鲜事物的人,想学习新的技术语言,推荐Scala。
最后我想说,无论是选择什么语言,都必须认真学习,学得扎实是进行下一步的必要条件,这是进行下一步的基础,万万不能忽视。同时,可以多掌握和涉猎几种语言,掌握的种类和熟练程度越多越好,在今后的工作中必将大有裨益的。
‘叁’ 几种Java的Web框架的对比
Spring MVC - Java Web 框架
自离首次发布 10 多年以来,Spring MVC 框架仍然领先于竞争对手。随着时间的推移,它扩展成一个完整的MVC框架,并不断演变成一个全面的Java框架。作为集成特殊应用科学的分层J2EE / Java框架,该框架为软件工程师提供了用于 Web 应用程序配置,应用程序开发和安全项目的完整工具包。该框架以其发达的生态系统而闻名,它提供了许多附加选项,从SOAP Web服务,REST API到安全加密和授权。
优点:
增强模块化的轻量级容器
可以跨各种平台进行部署
灵活的依赖注入使用
包括XML,Java和注释配置的三路配置
通过POJO's缓解了注射测试的数据
学习曲线比较陡峭
新手实施比较困难
需要花费时间部署
缺点:
2.JSF - Java Web 框架
Oracle 认为 JSF 是一个实用网络 Java 框架,旨在简化基于Web的UI的集成开发。虽然这个框架在Java开发方面不是很好,但是Oracle提供的文档很容易使用。这是一种标准化的技术,拥有丰富的工具和库,可以为你在高度复杂的应用程序中铺平道路。JSF规范允许启用标准用户界面组件的重用和扩展。它减少了创建和维护Java应用程序在服务器上运行和在目标客户端上呈现 UI 应用程序的痛苦。不仅如此,它还提供简单的数据传输和可重用的UI组件。
优点
由于它可以创建可重复使用的组件,因此效率更高且一致
支持像EJB这样的JSF实现的优秀供应商(IBM,Oracle,JBoss等)
准备使用像Apache,Infragistics,Richfaces等组件
方便开发人员,特别是那些使用IDE软件的人
JSF的缺点
陡峭的学习曲线
没有考虑书签工具
不可扩展
原始Ajax支持
缺乏灵活性
3.Google Web Toolkit - Java Web 框架
Google Web Toolkit(GWT)是一个开源开发工具集,使开发人员能够构建和优化复杂的JS前端应用程序。它的主要目标是提供高性能Web应用程序的开发,即使开发人员不熟悉 JavaScript,XMLHttpRequest 或浏览器等偏冷门的知识。为了让其可信度高,谷歌自己的许多产品,包括 AdSense,Hotel Finder,Wallet,AdWords 等都使用 GWT。
优点:
更容易学习
内置IDE支持重构Java代码
可以在客户端大量构建响应式Web应用程序,并减少服务器端的琐事
可以迭代地平滑地从典型的Web应用程序迁移到GWT应用程序
即使在使用AJAX的情况下,也具有内置的浏览器后退按钮支持
缺点:
仅对Java开发人员有利,对PHP或.NET的开发人员没有太大帮助
由于快速发展的GWT,有许多版本很难获得所有功能和接口
编译速度慢,需要使用专有方法来定义结构
4.Grails - Java Web 框架
Grails 是一个开源的Java Web框架,旨在将开发人员的生产力与默认值和Convention-over-Configuration API相提并论。它与Java虚拟机(JVM)相集成,同时提供强大的功能,包括编译时元编程,异步编程和领域特定语言。Grails采用强大的视图技术,集成的NoSQL / ORM支持,插件和Spring支持的依赖注入进行更新。让你可以轻松集成并互操作Java,Java EE和JVM容器。
优点:
Grails提供了一个快速的开发周期
非常适合小型和中型项目
各种插件可供选择
简单而令人易懂的文档
可以在不重启服务器的情况下更改配置
缺点:
使用运行时语言可能会很困难
开发多线程应用程序,GORM 可能会出现问题
复杂的集成过程
延迟运行时间
5.Struts 2 - Java Web框架
Apache的Struts是一个用于开发现代Java Web应用程序的开源免费MVC框架。它包含一组类和接口,共同协作开发Web应用程序。它适用于许多Java应用程序的网络框架,并且受到了很多社区的支持。为了进一步扩展Struts Java框架,Struts 2 作为后继者有了很大的改变。这个框架最适合于开发当代 Java EE web 应用程序的工程师,Apache 软件基金会借助 Struts 2 为开发人员提供了一个用于开发面向网络的,企业级应用程序,并优化整个开发流程的工具
优点:
没有线程安全问题
依赖注入使得测试更简单
它可以使用“对象图导航语言”(OGNL)
Struts 2框架的Servlet上下文以简单的地图形式表示
它支持通过验证方法进行手动验证,并且还包含子框架验证
缺点:
由于它与Struts 1完全不同,难以迁移
Struts 2 文档非常有限
由于文档管理不善,新用户很难发现它的优点
‘肆’ 有哪些主流的web框架
1、Spring
Spring是于2003 年兴起的一个轻量级的Java开发框架,是一个开放源代码的设计层面框架,他解决的是业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用。简单来说,Spring是一个分层的JavaSE/EE full-stack(一站式) 轻量级开源框架。
2、SpringBoot
Spring Boot是由Pivotal团队提供的框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。
3、Thymeleaf
Thymeleaf是面向Web和独立环境的现代服务器端Java模板引擎,能够处理HTML,XML,JavaScript,CSS甚至纯文本。
4、Druid
Druid是阿里的一个开源高效的数据查询系统,主要解决的是对于大量的基于时序的数据进行聚合查询。数据可以实时摄入,进入到Druid后立即可查,同时数据是几乎是不可变。通常是基于时序的事实事件,事实发生后进入Druid,外部系统就可以对该事实进行查询。
5、mybatis
MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。
6、Hybernate
Hibernate是一个开放源代码的对象关系映射框架(Object_Relative DateBase-Mapping 简称ORM),它对JDBC进行了轻量级的对象封装,它将POJO与数据库表建立映射关系。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用。
‘伍’ 编程语言Python有哪些好的Web框架
Python web五大主流框架:
1.Django
‘陆’ Python 有哪些好的 Web 框架
python的web框架很多
django (大而全,模板,orm都自带)
flask (pocoo出品,比属精品,自带jinja2模板,可以替换)
web.py (这个我没用过,作者自杀,白瞎了一个高手)
bottle (只有一个文件的框架,需要自己构建整个开发体系)
uliweb (中国人开发的,也很不错)
Tornado (异步框架,适合长连接,比如在线聊天之类的)
Python框架虽然说是百花齐放,但仍然有那么一家是最大的,它就是Django。Django为人所称道的地方主要有:
①完美的文档,Django的成功,我觉得很大一部分原因要归功于Django近乎完美的官方文档(包括Django book)。
②
全套的解决方案,Django象Rails一样,提供全套的解决方案(full-stack framework + batteries
included),基本要什么有什么(比如:cache、session、feed、orm、geo、auth),而且全部Django自己造,开发网
站应手的工具Django基本都给你做好了,因此开发效率是不用说的,出了问题也算好找,不在你的代码里就在Django的源码里。
③强大的URL路由配置,Django让你可以设计出非常优雅的URL,在Django里你基本可以跟丑陋的GET参数说拜拜。
④自助管理后台,admin interface是Django里比较吸引眼球的一项contrib,让你几乎不用写一行代码就拥有一个完整的后台管理界面。
‘柒’ web前端常用的框架有哪些
现在比较常用的主流框架有Vue、React、Angular。
Angular
Angular原名angularJS诞生于2009年,之前我们都是用jquery开发,自从angular的出现让我们有了新的选择,它最大的特点是把后端的一些开发模式移植到前端来实现,如MVC、依赖注入等,创新式的双向数据绑定不知简化了我们多少代码,让我们为之疯狂,特别是表单处理方面,从此名声大噪。
好的框架一般会有两个结果,一个继续不断更新迭代,避免被拍死在沙滩上,一个是被一些大公司收购焕发第二春,angular属于后者被google所收购,且从2.0后改名angular并使用微软的typescript作为开发语言,目前最新版本8.0,照说傍上google与微软这两条大船,前途应该不可限量才对,然而造化弄人,现在angular的市场份额已经被React这个后起之秀和Vue这颗新星远远地甩到脑后。
React
React,facebook出品,正式版推出是在2013年,比angular晚了4年,但得益于其创新式的VirtualDOM,性能上碾压angularJS,一经推出,火的一塌糊涂。 特点很多,VirtualDOM、JSX、Diff算法等,支持ES6语法,采用函数式编程,门槛稍高,但也更灵活,能让开发具有更多可能性。
Vue
Vue作为最后推出的框架(2014年),借鉴了前辈angular和react的特点(如VirtualDOM、双向数据绑定、diff算法、响应式属性、组件化开发等)并做了相关优化,使其使用起来更加方便,更容易上手,比较少适合初学者。网上有很多人说Vue不适合做大型项目,纯属扯淡,Vue在这方面已经优化得很好,当然,大量的响应式属性(监听属性)也许会用一定的性能损耗,但在硬件、网络大力发展的今天,这些细微的性能差异几乎感觉不到。
‘捌’ 做web开发,用Python好还是Java好
python语言与Java语言都是当前IT行业内被广泛使用的编程语言,而且二者的应用场景比较多,语言生态比较健全。python语言在近些年上升趋势明显,未来的发展前景也非常不错,不少IT行业内的程序员也开始转向python开发领域,其中就有Java程序员。
python之所以会得到广泛使用,主要因为大数据和人工智能的快速发展,虽然python能够从事web开发,但是在web开发领域中,python优势并不是很多,不过还是具有一定优势所在的。
Java语言的特点是性能稳定而且扩展性强,大型互联网平台更愿意采用Java方案,而且Java程序员较多,就业市场比较饱和。其实对比python和Java,PHP语言更适合web开发,PHP在web开发领域占比份额比较大,对比Java来说,PHP的开发周期具有一定优势。
而python虽然也是WEB开发领域传统解决方案之一,跟Java一样还是与PHP无法匹敌的,在web开发领域python与Java差不多。
‘玖’ web APP 学习哪个框架好
Web APP框架的开发旨在支持开发人员使用单一编程语言构建交互式应用程序。市场上推出了一系列框架,其框架结构各不相同。
1. Ruby on Rails
遵循基于推送的MVC体系结构的最顶级的Web APP框架。Ruby on Rails被视为通用网站框架。到目前为止,通过这个框架构建了大量的应用程序。不付任何费用,任何Web开发人员都可以自由地从他/她的最终添加智能代码并使其变得富有。
积极方面:
可用的奇妙工具轻松地制定以功能为中心的应用程序
轻松获取库和最佳代码质量
支持测试自动化提供完美的软件
Rails框架的启动速度
一些IO库不支持多线程
快速的加载时间
轻量级框架
表现框架
易于测试
双向数据绑定
扩展HTML
为了获得丰富的结果,对框架的纯粹知识是必要的
路由器有局限性
使用指令有点困难
代码调试是一项艰巨的任务
强大的内置路由器
简单的Web组件
提供完整的开发堆栈
稳定而不停滞
吸气剂和吸附剂用于测试。当你忘记使用getters&setters时,Web应用会出现这些错误。
预算友好的网络应用开发
脚手架代码生成
快速和灵活的模板系统
可靠的安全约束
MVC编码模式
单向路由
文件需要很好的努力
要创建花哨的URL,需要更新默认路由
提高执行速度
减少资源的使用
高性能
特别处理更多的HTTP请求比较
根/管理访问权限是必需的
编译扩展
灵活的缓存子系统
支持布局的可扩展MVC实现
模块化框架
可扩展且易于适应
每次脚本执行时都会加载共享对象
外部附加文件混乱了磁盘
每次调用dl()都需要使用外部模块的功能
大型应用程序可以用较少的代码来开发
安全和安全的环境
易于编写和维护源代码
轻松部署
内存泄漏,无限循环迅速被破坏
对于定制,编码变得有点复杂
对于Silverlight,数据访问是有限的
直接呼叫通过ADO.NET进行限制
多个开发人员可以顺利管理Symfony项目
为用户认证添加安全约束
轻松整合高级功能
性能测试是Symfony的核心
陡峭的学习曲线
开发人员需要很好的时间来实施习惯的需求
快速和简约的框架
强大的网络和移动应用程序功能集
开发者友好的支持来创建API
支持并发
了解代码结构对于每个开发人员来说都不是一杯茶
在某些情况下缺少NodeJS库和ExpressJS中间件
与标准托管兼容
使用编码和命名约定无限制
轻量级和广泛
定义良好的拥有图书馆
公司驱动的框架
不规则的发布
框架本身没有内置的ORM
限制:
2. AngularJS
Google和其他开发社区维护的开源框架。开发人员选择这个框架,因为它允许开发人员为网站开发扩展HTML词汇。AngularJS是最受欢迎的Javascript框架之一。
积极方面:
限制:
3. Ember.js
这是为构建雄心勃勃的Web APP而定义的最佳平台。开发人员尝试使用Ember.js开发可扩展的单页面Web APP。许多工具都提供灵活和标准的应用程序结构。
积极方面:
限制:
4. CakePHP
用PHP编写的最流行的开源平台之一。Web APP开发公司表示,通过使用此框架,开发变得更快,更简单。交互式网络应用程序可以用较少的代码来构建。
积极方面:
限制:
5. Phalcon
它是遵循MVC模式的开源框架。这是一个作为C扩展提供的PHP框架。Phalcon是最快的PHP框架。Phalcon拥有创新的架构和最低的MVC应用开销。
积极方面:
限制:
6. Zend
面向对象的Web APP框架,支持广泛的数据库系统。
积极方面:
限制:
7. ASP.net
一个Web APP开发平台,为建设强大的桌面和移动应用程序。ASP.net适用于HTTP协议并优化HTTP命令。该框架使用通用语言运行时(CLR)构建。
积极方面:
限制:
8. Symfony
一个PHP Web开发框架,旨在加速开发过程。一组可重用的PHP组件Symfony被用于构建强大的应用程序。绝对定制的Web APP是由开发人员完全控制配置而制作的。
积极方面:
限制:
9. Express
Express是一个Node.js Web APP服务器框架。该平台足够灵活,可以构建单页,多页,甚至是繁荣的混合Web APP。
积极方面:
限制:
10. Codeigniter
功能强大的PHP框架为创建功能包Web APP提供了一个简单而优雅的工具包。这个框架被确定为明确的文档和开发者社区中的小脚印。
积极方面:
限制:
除此之外,网络开发人员还可以与流星,Django,Laravel和Flask一起使用。
‘拾’ python web开发用哪个框架比较好
(1)Django。Django的文档最完善、市场占有率最高、招聘职位最多估计大家都没什么意见。完美的文档,Django的成功,我觉得很大一部分原因要归功于Django近乎完美的官方文档(包括Django book)。全套的解决方案,Django象Rails一样,提供全套的解决方案(full-stack framework + batteries included),基本要什么有什么(比如:cache、session、feed、orm、geo、auth),而且全部Django自己造,开发网 站应手的工具Django基本都给你做好了,因此开发效率是不用说的,出了问题也算好找,不在你的代码里就在Django的源码里。
(2)Pylons和Django的设计理念完全不同,Pylons本身只有两千行左右的Python代码,不过它还附带有一些几乎就是Pylons御用 的第三方模块。Pylons只提供一个架子和可选方案,你可以根据自己的喜好自由的选择Template、ORM、form、auth等组件,系统高度可 定制。我们常说Python是一个胶水语言(glue language),那么我们完全可以说Pylons就是一个用胶水语言设计的胶水框架。
(3)Tornado即是一个Web server(对此本文不作详述),同时又是一个类web.py的micro-framework,作为框架Tornado的思想主要来源于Web.py,大家在Web.py的网站首页也可以看到Tornado的大佬Bret Taylor的这么一段话(他这里说的FriendFeed用的框架跟Tornado可以看作是一个东西):
(4)Bottle和Flask作为新生一代Python框架的代表,挺有意思的是都采用了decorator的方式配置URL路由。
(5)Flask 精简
(6)web.py 非常精简