当前位置: 首页 > news >正文

泰州seo排名扣费长沙关键词优化方法

泰州seo排名扣费,长沙关键词优化方法,网站建设外包公司管理方法,百度推广入口页面从表面上看 #xff0c; Vaadin和GWT通常与DukeScript有很多共同点。 两者都致力于为Java开发人员提供面向浏览器的解决方案#xff0c;并且由于其对Maven的原生支持而与IDE集成良好。 但是#xff0c;这些方面实际上是它们共有的全部。 从编程模型到框架如何处理代码#… 从表面上看 Vaadin和GWT通常与DukeScript有很多共同点。 两者都致力于为Java开发人员提供面向浏览器的解决方案并且由于其对Maven的原生支持而与IDE集成良好。 但是这些方面实际上是它们共有的全部。 从编程模型到框架如何处理代码再到应用程序如何部署Vaadin和DukeScript完全不同。 为了真正理解这些观点让我们开始研究Vaadin和DukeScript的编程模型。 尽管您使用Java编程的方式明显不同但是每个人都有一个非常好的动机这对适用的目标开发人员群体来说是非常有意义的。 从这个意义上讲在这个故事中没有“更好”或“更糟”只有两种不同的方法使Java开发人员能够访问各种设备上基于浏览器的平台。 在Vaadin中对于开发人员群体而言主要的人群是Java Swing开发人员他们希望将其Java桌面业务应用程序移至Web和移动设备。 因此Vaadin提供了与Swing相当的组件模型。 提供了一系列的GUI组件例如“标签”和“按钮”以及许多更复杂的组件包括各种图形和其他令人印象深刻的与UI相关的功能以及“布局”和“事件”再次让人想起Swing。 这就是Vaadin中典型的“ Hello World”场景。 注意GUI组件“ VerticalLayout”和“ ClickEvent” 瓦丁的Hello World import com.vaadin.annotations.Theme; import com.vaadin.annotations.VaadinServletConfiguration; import com.vaadin.annotations.Widgetset; import com.vaadin.server.VaadinRequest; import com.vaadin.server.VaadinServlet; import com.vaadin.ui.Button; import com.vaadin.ui.Button.ClickEvent; import com.vaadin.ui.Label; import com.vaadin.ui.UI; import com.vaadin.ui.VerticalLayout;Theme(mytheme) Widgetset(org.hw.vaadin.MyAppWidgetset) public class MyUI extends UI {Overrideprotected void init(VaadinRequest vaadinRequest) {final VerticalLayout layout new VerticalLayout();layout.setMargin(true);setContent(layout);Button button new Button(Click Me);button.addClickListener(new Button.ClickListener() {Overridepublic void buttonClick(ClickEvent event) {layout.addComponent(new Label(Thank you for clicking));}});layout.addComponent(button);}WebServlet(urlPatterns /*, name MyUIServlet, asyncSupported true)VaadinServletConfiguration(ui MyUI.class, productionMode false)public static class MyUIServlet extends VaadinServlet {} } 在上面还请注意用于与浏览器相关的功能即主题和窗口小部件集的注释以及与Servlet容器集成的Java EE相关的注释指出Vaadin是与客户端/服务器相关的框架。 与Vaadin专注于类似Swing的开发模型相反DukeScript具有KnockoutJS开发模型 DukeScript团队认为该模型是更先进和现代的方法。 KnockoutJS开发模型将视图与逻辑完全分开。 可以在甚至创建视图之前开发和测试逻辑 如此处所述 。 尽管Vaadin应用程序也可以进行单元测试但使用Vaadin可以测试视图例如“ clickButton”而使用DukeScript可以测试逻辑例如“ addUser”。 使用DukeScript开发人员不再负责应用程序的布局和可用性方面而专家可以代替。 就像Swing知识对使用Vaadin有所帮助虽然不是必需的一样KnockoutJS知识对DukeScript的使用尽管不是必需的也是有用的。 但是由于Java开发人员可能比KnockoutJS更熟悉Swing因此Java开发人员可能需要花更多的时间来熟悉KnockoutJS然后再开始使用DukeScript。 另一方面DukeScript编程模型使得可以将应用程序前端的开发委派给特定于前端的编码器即委托给使用KnockoutJS进行前端开发的开发人员。 为了证明这一点请阅读 DukeScript团队的Anton Epple 撰写的有关JavaCodeGeeks的最新文章 。 另一方面在这种完全分离的场景中可以将绑定本身视为Java编程任务的一部分即Java开发人员会将这些绑定添加到从提出了该观点的前端开发人员那里获得的标记中。一起。 现在让我们转到DukeScript中的典型“ Hello World”场景。 如上所述视图和业务逻辑被拆分为单独的文件一个使用HTML另一个使用Java。 这是HTML端与KnockoutJS.com的“ Hello World”场景相同 DukeScript中的“ Hello World”视图 pFirst name: input data-bindvalue: firstName //p pLast name: input data-bindvalue: lastName //p h2Hello, span data-bindtext: fullName /span!/h2 这是提供上述属性的双向数据绑定的业务逻辑通常使用KnockoutJS开发模型中JavaScript但由于DukeScript它是用Java表示的 DukeScript中“ Hello World”的业务逻辑 import net.java.html.json.ComputedProperty; import net.java.html.json.Model; import net.java.html.json.Property;Model(className Data, targetId , properties {Property(name firstName, type String.class),Property(name lastName, type String.class) }) final class DataModel {ComputedPropertystatic String fullName(String firstName, String lastName) {return firstName lastName;}private static Data ui;static void onPageLoad() throws Exception {ui new Data();ui.setFirstName(Planet);ui.setLastName(Earth);ui.applyBindings();} } 与Vaadin一样DukeScript“ Hello World”场景也使用了注释。 每当在开发过程中保存Java源文件时这些批注就会生成带有上面引用的所有getter和setter的POJO。 这两个“ Hello World”场景都针对浏览器。 他们如何做到这一点即如何处理上面的代码并使之可在浏览器中使用是本系列下一篇文章的主题。 但是目前通过阅读本文您应该对这两个框架的编程模型的差异有一个很好的了解。 通过使用Vaadin您可以访问一系列用Java表示的GUI组件这些GUI组件排列在与Swing相类似的组件树中。 使用DukeScript您可以完全访问JavaScript生态系统为业务逻辑提供的前端和整个Java生态系统所提供的所有功能并且特别关注KnockoutJS的双向数据绑定功能以将视图连接到业务逻辑。 感谢Vaadin的Matti Tahvonen和DukeScript的Anton Epple对本文进行了评论并做出了贡献。 翻译自: https://www.javacodegeeks.com/2015/08/hello-world-in-vaadin-dukescript.html
http://www.pierceye.com/news/372150/

相关文章:

  • 青岛建站方案海兴县网站建设公司
  • 网站文案框架兰州网页制作公司网站
  • 专业网站有哪些平台wordpress那个版本
  • 网站建设按钮详情页设计图
  • 杭州公司注册代理中介深圳关键词优化软件
  • 乐清网站制作公司电话免费做初中试卷的网站
  • 注册一个网站的流程反向代理服务器做wordpress外网
  • 沁阳网站建设tomcat建网站
  • 品牌网站建设公司推荐网站建设公司3lue
  • 装修公司网站模版徐州品牌网站建设
  • 医疗网站建设计划书一级消防工程师考试科目
  • 信誉好的网站建设公司网站关停公告怎么做
  • 画图在什么网站上做兼职广告词
  • 昆明购物网站建设企业网络设计方案预算
  • 浙江省建设工程质监站网站什么是营销型网站建设
  • 做网站需要云数据库吗企业做网页还是网站
  • wordpress手机网站插件wordpress编辑器添加按钮弹出窗口
  • 网站建设验收单格式建筑工具网站
  • 比较简洁大方的网站伊春住房和城乡建设网站
  • 电商网站开发prd免费个人网页模板
  • 西安 网站开发 招聘响应式网站代理
  • 浙江建设干部学校网站免费wordpress搭建
  • 海尔网站建设内容策划wordpress 登录密码
  • 金融公司网站规划方案四川省住建厅特种作业证报名
  • 做网站员培训网站小视频怎么做
  • 做网站是学什么专业的电子商务网络营销方式
  • 东莞电商网站公司goz建站
  • 深圳石岩建网站权威发布李建
  • 大连哪家公司做网站比较好网页搜索的快捷键
  • 怎样建个小公司的网站濮阳网络电视直播