我在讨论是否使用Seam,Wicket,JSF或GWT作为Java项目中表示层的基础.
我根据就业市场考虑因素,技术的新颖性以及其他SO用户的建议,将我选择的Java Web框架缩小到这个子集.
在决定这些因素时,我应该考虑哪些因素?
使用Flask,我如何获得烧瓶所连接的当前端口号?我想使用端口0在随机端口上启动服务器,但我还需要知道我在哪个端口.
编辑
我想我找到了解决问题的方法,虽然这不是问题的答案.我可以遍历从49152开始的端口并尝试使用该端口app.run(port=PORT).我可以在try catch块中执行此操作,这样如果我收到Address already in use错误,我可以尝试下一个端口.
哪个是Java的最佳框架?我正在寻找类似于Symfony for php和Ruby-On-Rails for Ruby的东西?我甚至不知道Java是否存在这样的东西.
我正在寻找一个比Apache Tiles更好更容易使用的框架(到目前为止,我已经使用了几次).
使用Tiles,似乎当我有100个动作时,我需要创建100个jsp文件并在其中创建100个定义tiles.xml.
是否有更好的框架来管理我的模板?我想创建,例如,2个模板:
a)内容的菜单和列
b)菜单,内容列,右栏和横幅
在两个模板中,菜单都是常量.在template b,右列是常量,因此只有内容列不同.对于这个简单的例子,我不想定义扩展它的每个JSP文件template a(只是为了提供一个体).那是跛脚的imo.或许我很蹩脚,我可以在Apache Tiles中定义一个DEFAULT模板,我只是没有正确使用它.在任何情况下,所有帮助表示赞赏.
我应该使用 FastAPI。我被告知 FastAPI 与 Uvicorn 一起使用。Uvicorn到底是什么。我不知道 uvicorn 到底用 FastAPI 做什么。谁能解释一下吗?
JAX-RS有一些MVC支持,但我想知道JAX-RS是否真的是构建供人类使用的Web应用程序的不错选择.
如果用户在表单中输入错误或不完整的信息,则应该像Grails或Wicket一样再次显示.使用JAX-RS有一种舒适的方式吗?
据我所知,URI映射无法正常工作,如果没有给出所有必需的参数或存在类型转换问题(例如,使用Date).那是对的吗?
是否支持国际化模板?
以下是基于JAX-RS的简单GUI应用程序的示例.但它非常简单,像i18n这样的东西并没有讨论验证.
我最近开始学习Python,在所有的研究中,我认为从Python3开始是好的(这就是Guido在Google IO'11上所建议的).但主要(网络)框架缺乏对Python3的支持确实让我感到烦恼.我知道同样的问题已经在整个互联网甚至StackOverflow上被问过,但是因为我们现在有了最终的PEP3333(WSGI 1.0.1),它们是支持/支持Py3的框架.我能找到的唯一一个是CherryPy3.2.0,正如项目页面所说,它符合PEP 3333标准.我特别想了解Django/Turbogears/Pylons/Flask(任何路线图都会提供丰富的信息).
最近基于Scala的Web框架社区已经有了很多变化.来自Rails,Rake,ActiveRecord和迁移 - 这是一个很好的Scala框架来构建生产站点?
如果它提供了更好的可维护代码,那么性能的一小部分是可以接受的.如果内置协作功能也会很好 - 例如数据库迁移等.
我看过提及(这听起来像未经证实的意见,以及那些过时的意见),Embperl是最快的Perl Web框架.
我想知道是否对主要稳定的Perl Web框架的相对速度达成共识,或者理想情况下,在相同示例Web应用程序的实现或单个功能(例如会话处理或表单数据处理)之间进行某种基于事实的性能比较等等......?
更新:这个问题具体是关于不同框架的速度比较,执行相同/等效的任务.我很欣赏良好的意图,但我已经知道速度并不是我应该关注的唯一标准.我没有要求提供哲学建议.不管你信不信,作为框架,你实际上可以通过在它们上运行相同目的的任务/代码/应用来比较它们在苹果到苹果的基础上的速度(例如,使用给定的一组模板化插入来呈现给定的形式等等. .),即使每个框架的完整功能不是100%相同.
我目前正在开发一个服务器端json接口,其中有几个临时文件在请求期间进行操作.
我在请求结束时清理这些文件的当前解决方案如下所示:
@app.route("/method",methods=['POST'])
def api_entry():
with ObjectThatCreatesTemporaryFiles() as object:
object.createTemporaryFiles()
return "blabalbal"
Run Code Online (Sandbox Code Playgroud)
在这种情况下,清理采用对象中的花边.__ exit __()
但是在少数情况下我需要将临时文件返回给客户端,在这种情况下代码如下所示:
@app.route("/method",methods=['POST'])
def api_entry():
with ObjectThatCreatesTemporaryFiles() as object:
object.createTemporaryFiles()
return send_file(object.somePath)
Run Code Online (Sandbox Code Playgroud)
这当前不起作用,因为当我进行清理时,烧瓶正在读取文件并将其发送到客户端.¨我怎么解决这个问题?
编辑:我忘了提到文件位于临时目录中.
web-frameworks ×10
java ×5
python ×3
flask ×2
python-3.x ×2
apache-tiles ×1
catalyst ×1
embperl ×1
fastapi ×1
frameworks ×1
java-ee ×1
jax-rs ×1
jsf ×1
lift ×1
migration ×1
networking ×1
performance ×1
perl ×1
scala ×1
seam ×1
spring ×1
spring-mvc ×1
uvicorn ×1
wicket ×1
wsgi ×1