State of Apache Wicket
|
|
- Cameron French
- 5 years ago
- Views:
Transcription
1 State of Apache Wicket
2 presented at: ELOPERSDEV ENTER DEV powered by Topicus
3 sponsored by topicus
4
5 We continue to see teams run into trouble using JSF -- JavaServer Faces -- and are recommending you avoid this technology. ThoughtWorks Technology Radar January 2014 Wicket Developers Rejoice!! Our archenemy has been denounced!! Or is there more to this story?!
6 We continue to see teams run into trouble using JSF -- JavaServer Faces -- and are recommending you avoid this technology. Teams seem to choose JSF because it is a J2EE standard without really evaluating whether the programming model suits them. We think JSF is flawed because it tries to abstract away HTML, CSS and HTTP, exactly the reverse of what modern web frameworks do. JSF, like ASP.NET webforms, attempts to create statefulness on top of the stateless protocol HTTP and ends up causing a whole host of problems involving shared server-side state. We are aware of the improvements in JSF 2.0, but think the model is fundamentally broken. We recommend teams use simple frameworks and embrace and understand web technologies including HTTP, HTML and CSS. The full quote from ThoughtWorks Technology Radar. The good bits are on the next slide... ThoughtWorks Technology Radar January 2014
7 We continue to see teams run into trouble using JSF and are recommending you avoid this technology. We think JSF is flawed because it tries to abstract away HTML, CSS and HTTP. JSF, like ASP.NET webforms, attempts to create statefulness on top of the stateless protocol HTTP. We think the model is fundamentally broken. ThoughtWorks Technology Radar January 2014 This is not a critique of JSF in particular but (server side) component frameworks. The grunt of the critique is that JSF attempts to create state fullness on top of the stateless protocol which is precisely what JSF,.Net, Wicket and Tapestry are doing.
8 We recommend teams use simple frameworks and embrace and understand web technologies including HTTP, HTML and CSS. ThoughtWorks Technology Radar January 2014 I don t agree with this assessment:! server side, state managing frameworks were created to provide a solution for problems that are difficult to solve with simple frameworks.! Going back to 2004 is not the solution!
9 A typical screen in one of our page multi-tenant SaaS applications.! Would a simple framework make it possible to maintain 3 of these 1M lines of code applications with just 30 developers?
10 10 years of Apache Wicket
11 2004
12 2004 Wicket is presented to the world.! Raise your hand if you still read TheServerside.com?!
13 2004 The Server Side
14 2004 The original Wicket website. We have seen The Server Side several different stylings over the years...
15 codehaus.org The Server Side
16 codehaus.org The Server Side in in p tu e e m t e k ic The first W. s e c ffi o s u ic p o T e th t a r Devente
17 codehaus.org The Server Side
18 JSF Wicket Tapestry codehaus.org The Server Side Struts 2 (originally Webwork) The web framework sh oot-out at JavaOne Now th at was fun! Shale
19 codehaus.org The Server Side JavaOne
20 codehaus.org 1.0 The Server Side JavaOne
21 codehaus.org The Server Side JavaOne
22 codehaus.org The Server Side JavaOne
23 2007
24 2007 Wicket joins! The Apache Software Foundation!
25 2007 n i s p u t e e m t e k One of 3 Wic é j r A y b d e s i n a g r Amsterdam o ) S M C o p p i H ( n h Ca
26 2007
27
28
29
30
31
32
33
34
35
36 State of Apache Wicket
37
38
39 1. core 2. extensions 3. spring 4. datetime 5. auth-roles
40 Mailinglist traffic
41 Commit activity Wicket in Action Wicket Cookbook
42 Commit activity Wicket in Action Wicket Cookbook book writing has caused quite a dent in our Wicket related activities:! burn-out plays a major part.
43 In a Nutshell, Wicket... Ohloh report for Wicket
44 In a Nutshell, Wicket... has had 17,645 commits made by 52 contributors representing 314,959 lines of code Ohloh report for Wicket
45 In a Nutshell, Wicket... has had 17,645 commits made by 52 contributors representing 314,959 lines of code is mostly written in Java with a well-commented source code Ohloh report for Wicket
46 In a Nutshell, Wicket... has had 17,645 commits made by 52 contributors representing 314,959 lines of code is mostly written in Java with a well-commented source code has a well established, mature codebase maintained by a large development team with stable Y-O-Y commits Ohloh report for Wicket
47 In a Nutshell, Wicket... has had 17,645 commits made by 52 contributors representing 314,959 lines of code is mostly written in Java with a well-commented source code has a well established, mature codebase maintained by a large development team with stable Y-O-Y commits took an estimated 83 years of effort (COCOMO model) starting with its first commit in September, 2004 ending with its most recent commit 2 days ago Ohloh report for Wicket
48 Wicket 1.4 security fixes only
49 Wicket 1.5 security fixes only
50 Wicket 6 continues to be released along side Wicket 7, monthlies will transform into bi-monthlies when number of resolved tickets subsides.
51 Java 6
52 semantic versioning Works wonderful for us. Only snag: JQuery updates.
53 Monthly releases also wonderful: no longer waiting for a long time for a fixed bug.
54 Wicket 7 not much to say about Wicket 7: no major API changes.
55 Java 7
56 Servlet 3
57 Minor API breaks
58 Wicket 8 Anything written here is just speculation from my side. This is not set in stone, this is not how we are going to implement things, or quite reasonably at all.
59 Java 8
60 PROJECT LAMBDA functional programming in Java
61 @FunctionalInterface public interface ILinkListener { void onlickclicked(); }
62 ILinkListener l = new ILinkListener() public void onlinkclicked() { System.out.println("Klik"); } }
63 ILinkListener l = () -> { } System.out.println("Klik");
64 ILinkListener l = new ILinkListener() public void onlinkclicked() { System.out.println("Klik"); } } -of-! ILinkListener l = () -> { System.out.println("Klik"); }
65 add(new Link<Void>("save") public void onclick() { dao.save(object); getsession().info("saved."); setresponsepage(new OtherPage()) } });
66 add(new Link<Void>("save") public void onclick() { dao.save(object); getsession().info("saved."); setresponsepage(new OtherPage()) } });
67 add(new Link<>("save").onClick(()-> { dao.save(object); getsession().info("saved."); setresponsepage(new OtherPage()); });
68 private void onsave() { dao.save(object); getsession().info("saved."); setresponsepage(new OtherPage()) }!!!!!!
69 private void onsave() { dao.save(object); getsession().info("saved."); setresponsepage(new OtherPage()) }!! add(new Link<Void>("save").onClick(this::onSave);!!
70 A link with onclick, visibility and body
71 add(new Link<Void>("like") public void onclick() { person.likedby(me); public boolean isvisible() { return person.isnotliked(); } }.setbody(new AbstractReadOnlyModel<String>() public String getobject() { StringBuilder sb = new StringBuilder("Like "); sb.append(person.getfirstname()); return sb.tostring(); } }));
72 add(new Link<Void>("like") public void onclick() { person.likedby(me); public boolean isvisible() { return person.isnotliked(); } }.setbody(new AbstractReadOnlyModel<String>() public String getobject() { StringBuilder sb = new StringBuilder("Like "); sb.append(person.getfirstname()); return sb.tostring(); } }));
73 add(new Link<Void>("like") public void onclick() { person.likedby(me); public boolean isvisible() { return person.isnotliked(); } }.setbody(new AbstractReadOnlyModel<String>() public String getobject() { StringBuilder sb = new StringBuilder("Like "); sb.append(person.getfirstname()); return sb.tostring(); } }));
74 add(new Link<Void>("like") public void onclick() { person.likedby(me); public boolean isvisible() { return person.isnotliked(); } }.setbody(new AbstractReadOnlyModel<String>() public String getobject() { StringBuilder sb = new StringBuilder("Like "); sb.append(person.getfirstname()); return sb.tostring(); } }));
75 add(new Link<Void>("like") public void onclick() { person.likedby(me); public boolean isvisible() { return person.isnotliked(); } }.setbody(new AbstractReadOnlyModel<String>() public String getobject() { StringBuilder sb = new StringBuilder("Like "); sb.append(person.getfirstname()); return sb.tostring(); } }));
76 add(new Link<Void>("like") public void onclick() { person.likedby(me); public boolean isvisible() { return person.isnotliked(); } }.setbody(new AbstractReadOnlyModel<String>() public String getobject() { StringBuilder sb = new StringBuilder("Like "); sb.append(person.getfirstname()); return sb.tostring(); } }));
77 add(new Link<Void>("like") public void onclick() { person.likedby(me); public boolean isvisible() { return person.isnotliked(); } }.setbody(new AbstractReadOnlyModel<String>() public String getobject() { StringBuilder sb = new StringBuilder("Like "); sb.append(person.getfirstname()); return sb.tostring(); } }));
78 A link with onclick, visibility and body
79 add(new Link<>("like").visible(() -> person.isnotliked()).onclick(() -> person.likedby(me)).body(() -> { StringBuilder sb = new StringBuilder("L sb.append(person.getfirstname()); return sb.tostring(); }) );
80 add(new Link<>("like").visible(() -> person.isnotliked()).onclick(() -> person.likedby(me)).body(() -> { StringBuilder sb = new StringBuilder("L sb.append(person.getfirstname()); return sb.tostring(); }) );
81 add(new Link<>("like").visible(() -> person.isnotliked()).onclick(() -> person.likedby(me)).body(() -> { StringBuilder sb = new StringBuilder("L sb.append(person.getfirstname()); return sb.tostring(); }) );
82 add(new Link<>("like").visible(() -> person.isnotliked()).onclick(() -> person.likedby(me)).body(() -> { StringBuilder sb = new StringBuilder("L sb.append(person.getfirstname()); return sb.tostring(); }) );
83 add(new Link<>("like").visible(() -> person.isnotliked()).onclick(() -> person.likedby(me)).body(() -> { StringBuilder sb = new StringBuilder("L sb.append(person.getfirstname()); return sb.tostring(); }) );
84 add(new Link<>("like").visible(() -> person.isnotliked()).onclick(() -> person.likedby(me)).body(() -> { StringBuilder sb = new StringBuilder("L sb.append(person.getfirstname()); return sb.tostring(); }) );
85 add(new Link<Void>("like") public void onclick() { person.likedby(me); public boolean isvisible() { return person.isnotliked(); } }.setbody(new AbstractReadOnlyModel<String>() public String getobject() { StringBuilder sb = new StringBuilder("Like "); sb.append(person.getfirstname()); return sb.tostring(); } })); add(new Link<>("like").visible(() -> person.isnotliked()).onclick(() -> person.likedby(me)).body(() -> { StringBuilder sb = new StringBuilder("L sb.append(person.getfirstname()); return sb.tostring(); }) );! Anon inner classes: 17 lines Java 8 lambdas: 9 lines
86 nashorn
87 JavaScript validation
88 ScriptEngineManager m = new ScriptEngineManager();! ScriptEngine nashorn = m.getenginebyname("nashorn");! nashorn.put("age", validatable.getvalue()); String js = "age >= 18";! try { Object result = nashorn.eval(js); if(!((boolean)result) { ValidationError e = new ValidationError(); validatable.error(e); } } catch(exception e) { }
89 ScriptEngineManager m = new ScriptEngineManager();! ScriptEngine nashorn = m.getenginebyname("nashorn");! nashorn.put("age", validatable.getvalue()); String js = "age >= 18";! try { Object result = nashorn.eval(js); if(!((boolean)result) { ValidationError e = new ValidationError(); validatable.error(e); } } catch(exception e) { }
90 ScriptEngineManager m = new ScriptEngineManager();! ScriptEngine nashorn = m.getenginebyname("nashorn");! nashorn.put("age", validatable.getvalue()); String js = "age >= 18";! try { Object result = nashorn.eval(js); if(!((boolean)result) { ValidationError e = new ValidationError(); validatable.error(e); } } catch(exception e) { }
91 ScriptEngineManager m = new ScriptEngineManager();! ScriptEngine nashorn = m.getenginebyname("nashorn");! nashorn.put("age", validatable.getvalue()); String js = "age >= 18";! try { Object result = nashorn.eval(js); if(!((boolean)result) { ValidationError e = new ValidationError(); validatable.error(e); } } catch(exception e) { }
92 ScriptEngineManager m = new ScriptEngineManager();! ScriptEngine nashorn = m.getenginebyname("nashorn");! nashorn.put("age", validatable.getvalue()); String js = "age >= 18";! Object result = nashorn.eval(js); try { if(!((boolean)result) { ValidationError e = new ValidationError(); validatable.error(e); } } catch(exception e) { }
93 ScriptEngineManager m = new ScriptEngineManager();! ScriptEngine nashorn = m.getenginebyname("nashorn");! nashorn.put("age", validatable.getvalue()); String js = "age >= 18";! Object result = nashorn.eval(js); if(!((boolean)result) { ValidationError e = new ValidationError(); validatable.error(e); } try { } catch(exception e) { }
94 ScriptEngineManager m = new ScriptEngineManager();! ScriptEngine nashorn = m.getenginebyname("nashorn");! nashorn.put("age", validatable.getvalue()); String js = "age >= 18";! try { Object result = nashorn.eval(js); if(!((boolean)result) { ValidationError e = new ValidationError(); validatable.error(e); } } catch (Exception e) { }
95 ScriptEngineManager m =! ScriptEngine nashorn = m.getenginebyname(! nashorn.put( String js =! try Object result = nashorn.eval(js); } } } This was only a proof-of-concept. This probably won t ever fly due to business entities residing on server, and difficult to share those in browser, including I18N messages. ValidationError e = new ValidationError() validatable.error(e);
96 java.time support for this will be for converters, validations and possibly wicket-datetime
97 Roadmap Anything written here is just speculation from my side. This is not set in stone. Dates are mere guidelines.
98 Monthly releases
99 2014 feb mar may jun M1 7.0-M
100 2015 feb mar may jun M1 8.0-M
101 git organization
102 master wicket-1.0.x wicket-1.1.x wicket-1.2.x wicket-1.3.x wicket-1.4.x wicket-1.5.x wicket-6.x! Current organisation of our repository: master is new development, rest is maintenance.
103 master wicket-1.0.x wicket-1.1.x wicket-1.2.x wicket-1.3.x wicket-1.4.x wicket-1.5.x wicket-6.x! wicket 7.x! Current organisation of our repository: master is new development, rest is maintenance.
104 master wicket-1.0.x wicket-1.1.x wicket-1.2.x wicket-1.3.x wicket-1.4.x wicket-1.5.x wicket-6.x wicket-7.x wicket-8.x proposed layout: no more master, but just product branches.
105 experimental modules Jay! Many experimental modules have been upgraded to core modules! beanvalidation, CDI-1.1, web sockets will be part of Wicket core from 6.14 and onwards.
106 org.apache.wicket.experimental.wicket-6.x wicket-atmosphere wicket-bootstrap wicket-new-examples! org.apache.wicket.experimental.wicket-7.x Remaining wicket-atmosphere experimental modules wicket-cdi-1.1
107 org.apache.wicket.experimental.wicket-6.x wicket-atmosphere wicket-bootstrap wicket-new-examples! No more bootstrap: bootstrap is org.apache.wicket.experimental.wicket-7.x just a resource reference to wicket-atmosphere JavaScript and CSS. Write your wicket-cdi-1.1 own (~10 lines of code) or use L0rdn1kk0n s bootstrap wicket component library. new examples: no time to do anything useful with them.
108 Wicket 6.x Wicket 7.x org.apache.wicket.experimental.wicket-6.x wicket-atmosphere!! org.apache.wicket.experimental.wicket-7.x wicket-atmosphere! How to separate the same experimental modules in multiple product lines?
109 Wicket 6.x Wicket 7.x org.apache.wicket.experimental.wicket-6.x wicket-atmosphere!! org.apache.wicket.experimental.wicket-7.x wicket-atmosphere! Make the groupid specific to the product line, keep code as similar as possible.
110 The state of Apache Wicket:
111 The state of Apache Wicket: HEALTHY
112 ELOPERSDEV ENTER DEV powered by Topicus
Enterprise Web based Software Architecture & Design
IMPORTANT NOTICE TO STUDENTS These slides are NOT to be used as a replacement for student notes. These slides are sometimes vague and incomplete on purpose to spark class discussions Enterprise Web based
More informationJava SE7 Fundamentals
Java SE7 Fundamentals Introducing the Java Technology Relating Java with other languages Showing how to download, install, and configure the Java environment on a Windows system. Describing the various
More informationEnterprise Software Architecture & Design
Enterprise Software Architecture & Design Characteristics Servers application server, web server, proxy servers etc. Clients heterogeneous users, business partners (B2B) scale large number of clients distributed
More information1. I NEED TO HAVE MULTIPLE VERSIONS OF VISUAL STUDIO INSTALLED IF I M MAINTAINING APPLICATIONS THAT RUN ON MORE THAN ONE VERSION OF THE.
CUSTOMER PAIN POINTS 1. I NEED TO HAVE MULTIPLE VERSIONS OF VISUAL STUDIO INSTALLED IF I M MAINTAINING APPLICATIONS THAT RUN ON MORE THAN ONE VERSION OF THE.NET FRAMEORK. THAT S TAKING UP SPACE ON MY HARDDRIVE
More informationApache Wicket. Java Web Application Framework
Apache Wicket Java Web Application Framework St. Louis - Java User s Group Luther Baker September 2009 What is Wicket? Web Application Framework Component-based Framework Wicket 1.4 is Java 1.5+ compliant
More informationMigrating traditional Java EE applications to mobile
Migrating traditional Java EE applications to mobile Serge Pagop Sr. Channel MW Solution Architect, Red Hat spagop@redhat.com Burr Sutter Product Management Director, Red Hat bsutter@redhat.com 2014-04-16
More informationDeveloping Applications with Java EE 6 on WebLogic Server 12c
Developing Applications with Java EE 6 on WebLogic Server 12c Duration: 5 Days What you will learn The Developing Applications with Java EE 6 on WebLogic Server 12c course teaches you the skills you need
More informationBuilding modern enterprise applications from scratch: lessons learned DOAG 2014 Dr. Clemens Wrzodek
Building modern enterprise applications from scratch: lessons learned DOAG 2014 Dr. Clemens Wrzodek @wrzodek Roche Group Penzberg Founded 1896 in Basel, Switzerland Employing > 82,000 people Clear focus
More informationImplementation Architecture
Implementation Architecture Software Architecture VO/KU (707023/707024) Roman Kern ISDS, TU Graz 2017-11-15 Roman Kern (ISDS, TU Graz) Implementation Architecture 2017-11-15 1 / 54 Outline 1 Definition
More informationFRONT END DEVELOPER CAREER BLUEPRINT
FRONT END DEVELOPER CAREER BLUEPRINT HAVE A QUESTION? ASK! Read up on all the ways you can get help. CONFUSION IS GOOD :) Seriously, it s scientific fact. Read all about it! REMEMBER, YOU ARE NOT ALONE!
More information(p t y) lt d. 1995/04149/07. Course List 2018
JAVA Java Programming Java is one of the most popular programming languages in the world, and is used by thousands of companies. This course will teach you the fundamentals of the Java language, so that
More informationWEB DEVELOPER BLUEPRINT
WEB DEVELOPER BLUEPRINT HAVE A QUESTION? ASK! Read up on all the ways you can get help. CONFUSION IS GOOD :) Seriously, it s scientific fact. Read all about it! REMEMBER, YOU ARE NOT ALONE! Join your Skillcrush
More informationFirefox quality. Mozilla Paris FOSDEM Feb 3rd 2018
Firefox quality Mozilla Paris FOSDEM Feb 3rd 2018 Bonjour! Je suis Sylvestre Ledru Je parle de Firefox Quality Twitter @SylvestreLedru 2 Bonjour! 3 Bonjour! 4 Bonjour! 5 The Firefox scale About:Firefox
More informationFull Stack Developer (FSD) JAVA
Full Stack Developer (FSD) JAVA FSD Java Product Code: ST-SD-50026 Duration: 720 hrs. Eligibility BE / B Tech / MCS /MCA / BCS / BSc / BCA or equivalent (Candidates appeared for final year can also apply)
More informationHTML5 and CSS3 for Web Designers & Developers
HTML5 and CSS3 for Web Designers & Developers Course ISI-1372B - Five Days - Instructor-led - Hands on Introduction This 5 day instructor-led course is a full web development course that integrates HTML5
More informationCOURSE DETAILS: CORE AND ADVANCE JAVA Core Java
COURSE DETAILS: CORE AND ADVANCE JAVA Core Java 1. Object Oriented Concept Object Oriented Programming & its Concepts Classes and Objects Aggregation and Composition Static and Dynamic Binding Abstract
More informationSeminar report Google App Engine Submitted in partial fulfillment of the requirement for the award of degree Of CSE
A Seminar report On Google App Engine Submitted in partial fulfillment of the requirement for the award of degree Of CSE SUBMITTED TO: SUBMITTED BY: www.studymafia.org www.studymafia.org Acknowledgement
More informationTechnical Architecture & Analysis
Technical Architecture & Analysis HS2 Technical Architecture & Analysis 15 October 2012 Anton Palitsyn 020 7426 8920 anton.palitsyn@precedent.co.uk Contents Contents... 2 Document info... 3 Authors...
More informationReview Version Control Concepts
Review Version Control Concepts SWEN-261 Introduction to Software Engineering Department of Software Engineering Rochester Institute of Technology Managing change is a constant aspect of software development.
More information01/09: Project Plan. The Capstone Experience. Dr. Wayne Dyksen Department of Computer Science and Engineering Michigan State University Spring 2013
01/09: Project Plan The Capstone Experience Dr. Wayne Dyksen Department of Computer Science and Engineering Michigan State University Spring 2013 From Students to Professionals Project Plan Functional
More informationSuper Charge Your Continuous Integration Deployments. Nikola Gotsev April 26, 2016
Super Charge Your Continuous Integration Deployments Nikola Gotsev April 26, 2016 What is Continuous Integration? Wasn`t that the same as Continuous Deployment? Or was it related to the source control
More informationTechnology Background Development environment, Skeleton and Libraries
Technology Background Development environment, Skeleton and Libraries Christian Kroiß (based on slides by Dr. Andreas Schroeder) 18.04.2013 Christian Kroiß Outline Lecture 1 I. Eclipse II. Redmine, Jenkins,
More informationHTML Advanced Portlets. Your Guides: Ben Rimmasch, Rahul Agrawal
HTML Advanced Portlets Your Guides: Ben Rimmasch, Rahul Agrawal Introductions 2 Take 5 Minutes Turn to a Person Near You Introduce Yourself Agenda 3 HTML Portlets Overview HTML Portlet Use Cases Development
More informationGoogle Web Toolkit (GWT)
Google Web Toolkit (GWT) St. Louis Java SIG April 12, 2007 Brad Busch Andrew Prunicki What is GWT? GWT is a much different way to develop web applications from
More informationOracle Developer Day
Oracle Developer Day Sponsored by: Session5 Focusing on the UI Speaker Speaker Title Page 1 1 Agenda Building the User Interface UI Development Page Flow A Focus on Faces Introducing Java Server Faces
More informationTeaching Elephants to Dance (and Fly!)
Teaching Elephants to Dance (and Fly!) IT s Journey to Digital Transformation Red Hat GEMs Jason Peng, Senior Solution Architect 6 Blind Men (and an elephant) IT s Reality What most of us are up against.
More informationBranching and Merging
Branching and Merging SWEN-261 Introduction to Software Engineering Department of Software Engineering Rochester Institute of Technology Version control branching supports the ability to manage software
More informationPRIMIX SOLUTIONS. Core Labs. Tapestry : Java Web Components Whitepaper
PRIMIX SOLUTIONS Core Labs Tapestry : Java Web s Whitepaper CORE LABS Tapestry: Java Web s Whitepaper Primix Solutions One Arsenal Marketplace Phone (617) 923-6639 Fax (617) 923-5139 Tapestry contact information:
More informationFull Stack Web Developer Nanodegree Syllabus
Full Stack Web Developer Nanodegree Syllabus Build Complex Web Applications Before You Start Thank you for your interest in the Full Stack Web Developer Nanodegree! In order to succeed in this program,
More informationApplication Development in JAVA. Data Types, Variable, Comments & Operators. Part I: Core Java (J2SE) Getting Started
Application Development in JAVA Duration Lecture: Specialization x Hours Core Java (J2SE) & Advance Java (J2EE) Detailed Module Part I: Core Java (J2SE) Getting Started What is Java all about? Features
More informationIntroduction to Git and GitHub. Tools for collaboratively managing your source code.
Introduction to Git and GitHub Tools for collaboratively managing your source code. This Is Not a Tutorial About Git There are many tutorials online. What is Git? Git is a collaborative, distributed version
More informationGetting started with GitHub
Getting started with GitHub A beginner s guide. (There s no code in this slide deck!) Presented by Quinn Supplee https://github.com/quinns What is GitHub? GitHub is a code hosting platform for version
More informationCIS 3308 Web Application Programming Syllabus
CIS 3308 Web Application Programming Syllabus (Upper Level CS Elective) Course Description This course explores techniques that are used to design and implement web applications both server side and client
More informationApacheCon NA How to Avoid Common Mistakes in OFBiz Development Presented by Adrian Crum
ApacheCon NA 2015 How to Avoid Common Mistakes in OFBiz Development Presented by Adrian Crum 1Tech, Ltd. 29 Harley Street, London, W1G 9QR, UK www.1tech.eu 1 Overview Common Getting Started Problems Common
More informationBuilding Effective ASP.NET MVC 5.x Web Applications using Visual Studio 2013
coursemonster.com/au Building Effective ASP.NET MVC 5.x Web Applications using Visual Studio 2013 Overview The course takes existing.net developers and provides them with the necessary skills to develop
More informationJavaServer Faces Technology, AJAX, and Portlets: It s Easy if You Know How!
TS-6824 JavaServer Faces Technology, AJAX, and Portlets: It s Easy if You Know How! Brendan Murray Software Architect IBM http://www.ibm.com 2007 JavaOne SM Conference Session TS-6824 Goal Why am I here?
More informationMASTERS COURSE IN FULL STACK WEB APPLICATION DEVELOPMENT W W W. W E B S T A C K A C A D E M Y. C O M
MASTERS COURSE IN FULL STACK WEB APPLICATION DEVELOPMENT W W W. W E B S T A C K A C A D E M Y. C O M COURSE OBJECTIVES Enable participants to develop a complete web application from the scratch that includes
More informationWordPress 4.9, "Tipton": Major Customizer Improvements, Code Error Checking, and More!
WordPress 4.9, "Tipton": Major Customizer Improvements, Code Error Checking, and More! Version 4.9 of WordPress, named Tipton in honor of jazz musician and band leader Billy Tipton, is available for download
More informationEclipse Scout. Release Notes. Scout Team. Version 7.0
Eclipse Scout Release Notes Scout Team Version 7.0 Table of Contents About This Release.......................................................................... 1 Service Releases..........................................................................
More informationOracle Developer Day
Oracle Developer Day Sponsored by: J2EE Track: Session #3 Developing JavaServer Faces Applications Name Title Agenda Introduction to JavaServer Faces What is JavaServer Faces Goals Architecture Request
More informationCleveland State University Department of Electrical and Computer Engineering. CIS 408: Internet Computing
Cleveland State University Department of Electrical and Computer Engineering CIS 408: Internet Computing Catalog Description: CIS 408 Internet Computing (-0-) Pre-requisite: CIS 265 World-Wide Web is now
More informationTecnológico de Monterrey Coding Boot Camp LIVE ONLINE PROGRAM
Tecnológico de Monterrey Coding Boot Camp LIVE ONLINE PROGRAM Curriculum Overview The digital revolution has transformed virtually every area of human activity and you can be part of it as a web development
More informationThe main website for Henrico County, henrico.us, received a complete visual and structural
Page 1 1. Program Overview The main website for Henrico County, henrico.us, received a complete visual and structural overhaul, which was completed in May of 2016. The goal of the project was to update
More informationContents. Acknowledgments
Contents Acknowledgments Introduction Why Another Book About Web Application Development? How Is This Book Arranged? Intended Audience Do I Need to Start from Scratch? Choosing Development Tools Summary
More informationSaaS Providers. ThousandEyes for. Summary
USE CASE ThousandEyes for SaaS Providers Summary With Software-as-a-Service (SaaS) applications rapidly replacing onpremise solutions, the onus of ensuring a great user experience for these applications
More information@jbossdeveloper. explained
@jbossdeveloper explained WHAT IS? A recommended approach, using modern technologies, that makes you more productive. Modern Technologies A Simple Process Build A Domain Layer Java EE 6 HTML5 by AeroGear
More informationLabels: On the original site, none of the menu labels are awful, but some could be more descriptive. I had to work out the answers to the following:
Jade Anderson jade@ischool.utexas.edu Special Problems in Information Architecture Design Critique: http://www.stitchaustin.com 20 February 2007 Introduction: I viewed the critique and redesign of Stitch
More informationJava SE 8 Fundamentals
Oracle University Contact Us: +52 1 55 8525 3225 Java SE 8 Fundamentals Duration: 5 Days What you will learn This Java SE 8 Fundamentals training introduces you to object-oriented programming using the
More informationP a g e 1. Danish Technological Institute. Scripting and Web Languages Online Course k Scripting and Web Languages
P a g e 1 Online Course k72853 Scripting and Web Languages P a g e 2 Title Estimated Duration (hrs) JsRender Fundamentals 2 Advanced JsRender Features 3 JavaScript SPA: Getting Started with SPA in Visual
More informationCourses For Event Java Advanced Summer Training 2018
Courses For Event Java Advanced Summer Training 2018 Java Fundamentals Oracle Java SE 8 Advanced Java Training Java Advanced Expert Edition Topics For Java Fundamentals Variables Data Types Operators Part
More informationSeeking a Java design and coding position with some technical management responsibilities.
Scott Sauyet 168 Boston Hill Road, Andover CT 06232 job@sauyet.com (860) 742-9800 Objective Seeking a Java design and coding position with some technical management responsibilities. Experience 7/2008
More informationThousandEyes for. Application Delivery White Paper
ThousandEyes for Application Delivery White Paper White Paper Summary The rise of mobile applications, the shift from on-premises to Software-as-a-Service (SaaS), and the reliance on third-party services
More informationMASTERING JAVASERVER FACES 2.2 BY ANGHEL LEONARD DOWNLOAD EBOOK : MASTERING JAVASERVER FACES 2.2 BY ANGHEL LEONARD PDF
Read Online and Download Ebook MASTERING JAVASERVER FACES 2.2 BY ANGHEL LEONARD DOWNLOAD EBOOK : MASTERING JAVASERVER FACES 2.2 BY ANGHEL Click link bellow and free register to download ebook: MASTERING
More informationGrading Rubric Homework 1
Grading Rubric Homework 1 Used Git, has many commits, over time, wrote appropriate commit comments, set up Git correctly with git config Cloning repository results in a working site, no broken links, no
More informationRIA Security - Broken By Design. Joonas Lehtinen IT Mill - CEO
RIA Security - Broken By Design Joonas Lehtinen IT Mill - CEO a system is secure if it is designed to be secure and there are no bugs no system should be designed to be insecure not all bugs are security
More informationMaster Project Software Engineering: Team-based Development WS 2010/11
Master Project Software Engineering: Team-based Development WS 2010/11 Implementation, September 27 th, 2011 Glib Kupetov Glib.Kupetov@iese.fraunhofer.de Tel.: +49 (631) 6800 2128 Sebastian Weber Sebastian.Weber@iese.fraunhofer.de
More informationASP.NET MVC Training
TRELLISSOFT ASP.NET MVC Training About This Course: Audience(s): Developers Technology: Visual Studio Duration: 6 days (48 Hours) Language(s): English Overview In this course, students will learn to develop
More informationFrontend guide. Everything you need to know about HTML, CSS, JavaScript and DOM. Dejan V Čančarević
Frontend guide Everything you need to know about HTML, CSS, JavaScript and DOM Dejan V Čančarević Today frontend is treated as a separate part of Web development and therefore frontend developer jobs are
More informationIntroduction to AngularJS
CHAPTER 1 Introduction to AngularJS Google s AngularJS is an all-inclusive JavaScript model-view-controller (MVC) framework that makes it very easy to quickly build applications that run well on any desktop
More informationLuna MODERNBB 4. express yourself. ModernBB Group Version 1.01
Luna MODERNBB 4 express yourself ModernBB Group 2013-2014 Version 1.01 Content Content Content... i Introduction... 1 What s codename Luna... 3 Lifecycle of Luna... 5 Development... 11 Theoretical functioning...
More informationFULL STACK FLEX PROGRAM
UNIVERSITY OF RICHMOND CODING BOOT CAMP FULL STACK FLEX PROGRAM CURRICULUM OVERVIEW The digital revolution has transformed virtually every area of human activity and you can be part of it as a web development
More informationOpen Source Library Developer & IT Pro
Open Source Library Developer & IT Pro Databases LEV 5 00:00:00 NoSQL/MongoDB: Buildout to Going Live INT 5 02:15:11 NoSQL/MongoDB: Implementation of AngularJS INT 2 00:59:55 NoSQL: What is NoSQL INT 4
More informationRyan Rich - Software Developer & Architect
Ryan Rich - Software Developer & Architect Oceanside, CA 858-523-8540 ryanrich@richservices.com http://linkedin.com/in/ryanrich Full stack polyglot programmer and technical leader, with a strong interest
More informationConfiguration Management
Configuration Management VIMIMA11 Design and integration of embedded systems Budapest University of Technology and Economics Department of Measurement and Information Systems BME-MIT 2017 Configuration
More informationTooling for Ajax-Based Development. Craig R. McClanahan Senior Staff Engineer Sun Microsystems, Inc.
Tooling for Ajax-Based Development Craig R. McClanahan Senior Staff Engineer Sun Microsystems, Inc. 1 Agenda In The Beginning Frameworks Tooling Architectural Approaches Resources 2 In The Beginning 3
More informationModern Web Application Development. Sam Hogarth
Modern Web Application Development Sam Hogarth Some History Early Web Applications Server-side scripting only e.g. PHP/ASP Basic client-side scripts JavaScript/JScript/VBScript Major differences in browser
More informationLIVE ONLINE PROGRAM UNIVERSITY OF ARIZONA CODING BOOT CAMP CURRICULUM OVERVIEW
UNIVERSITY OF ARIZONA CODING BOOT CAMP LIVE ONLINE PROGRAM CURRICULUM OVERVIEW The digital revolution has transformed virtually every area of human activity and you can be part of it as a web development
More informationBEAWebLogic. Portal. Overview
BEAWebLogic Portal Overview Version 10.2 Revised: February 2008 Contents About the BEA WebLogic Portal Documentation Introduction to WebLogic Portal Portal Concepts.........................................................2-2
More informationJquery Manually Set Checkbox Checked Or Not
Jquery Manually Set Checkbox Checked Or Not Working Second Time jquery code to set checkbox element to checked not working. Apr 09 I forced a loop to show checked state after the second menu item in the
More informationtoday what is this course about? what is this course about? Welcome to CSC309! Programming on the Web APRIL 05
Welcome to CSC309! Programming on the Web Amir H. Chinaei, Spring 2017 ahchinaei@cs.toronto.edu http://www.cs.toronto.edu/~ahchinaei/ Office hours: M 3:45-5:45 BA4222 today course outline (bird s-eye view)
More informationJakartaEE and the road ahead An ASF View. Mark Struberg, RISE GmbH, Apache Software Foundation, INSO TU Wien
JakartaEE and the road ahead An ASF View Mark Struberg, RISE GmbH, Apache Software Foundation, INSO TU Wien About me Mark Struberg 25 years in the industry Apache Software Foundation member struberg [at]
More informationCopyright 2012, Oracle and/or its affiliates. All rights reserved.
1 JSR344 (JSF 2.2) Status Update to JCP EC 11 September 2012 Edward Burns @edburns JCP Spec Lead 2 The following is intended to outline our general product direction. It is intended for information purposes
More informationEmbedded Linux UI Comparison. Tim Bird Senior Staff Software Engineer Sony Electronics
Embedded Linux UI Comparison Tim Bird Senior Staff Software Engineer Sony Electronics 1 yyyy-mm-dd Agenda Embedded Linux UI options Comparison points Presence at ELC Evaluations
More informationImplementation Architecture
Implementation Architecture Software Architecture VO/KU (707023/707024) Roman Kern KTI, TU Graz 2014-11-19 Roman Kern (KTI, TU Graz) Implementation Architecture 2014-11-19 1 / 53 Outline 1 Definition 2
More informationPush up your code next generation version control with (E)Git
Push up your code next generation version control with (E)Git Dominik Schadow Senior Consultant Application Development dominik.schadow@trivadis.com Java Forum Stuttgart, 07.07.2011 Basel Bern Lausanne
More informationJAVA. Duration: 2 Months
JAVA Introduction to JAVA History of Java Working of Java Features of Java Download and install JDK JDK tools- javac, java, appletviewer Set path and how to run Java Program in Command Prompt JVM Byte
More informationFULL STACK FLEX PROGRAM
UNIVERSITY OF WASHINGTON CODING BOOT CAMP FULL STACK FLEX PROGRAM CURRICULUM OVERVIEW The digital revolution has transformed virtually every area of human activity and you can be part of it as a web development
More information1 Markus Eisele, Insurance - Strategic IT-Architecture
1 Agenda 1. Java EE Past, Present and Future 2. Java EE 7 Platform as a Service 3. PaaS Roadmap 4. Focus Areas 5. All the Specs 2 http://blog.eisele.net http://twitter.com/myfear markus.eisele@msg-systems.com
More informationNeos Google Analytics Integration
Neos Google Analytics Integration Release dev-master The Neos Team Feb 25, 2018 Contents 1 Installation 3 2 Configuration 5 2.1 Statistics display inside Neos.................................... 5 2.2
More informationProgramming the World Wide Web by Robert W. Sebesta
Programming the World Wide Web by Robert W. Sebesta Tired Of Rpg/400, Jcl And The Like? Heres A Ticket Out Programming the World Wide Web by Robert Sebesta provides students with a comprehensive introduction
More informationLessons learned from real-world deployments of Java EE 7. Arun Gupta, Red
Lessons learned from real-world deployments of Java EE 7 Arun Gupta, Red Hat @arungupta DEVELOPER PRODUCTIVITY MEETING ENTERPRISE DEMANDS Java EE 7! More annotated POJOs! Less boilerplate code! Cohesive
More informationINTRO TO ASP.NET MVC JAY HARRIS.NET DEVELOPER
INTRO TO JAY HARRIS.NET DEVELOPER WHAT IS MVC? It is a powerful and elegant means of separating concerns There is no universally unique MVC pattern. MVC is a concept rather than a solid programming framework.
More informationCS 251 Intermediate Programming Methods and More
CS 251 Intermediate Programming Methods and More Brooke Chenoweth University of New Mexico Spring 2018 Methods An operation that can be performed on an object Has return type and parameters Method with
More informationMaking The Future Java
Making The Future Java Dalibor Topić (@robilad) Principal Product Manager October 18th, 2013 - HrOUG, Rovinj 1 The following is intended to outline our general product direction. It is intended for information
More informationOracle - Developing Applications for the Java EE 7 Platform Ed 1 (Training On Demand)
Oracle - Developing Applications for the Java EE 7 Platform Ed 1 (Training On Demand) Code: URL: D101074GC10 View Online The Developing Applications for the Java EE 7 Platform training teaches you how
More informationComplete Java Contents
Complete Java Contents Duration: 60 Hours (2.5 Months) Core Java (Duration: 25 Hours (1 Month)) Java Introduction Java Versions Java Features Downloading and Installing Java Setup Java Environment Developing
More informationIntroduction to MVC 1.0
Introduction to MVC 1.0 David Delabassee - @delabassee Software Evangelist Cloud & Microservices - Oracle Java Day Tokyo 2016 May 24, 2016 Copyright 2016, Oracle and/or its its affiliates. All All rights
More informationJavaEE.Next(): Java EE 7, 8, and Beyond
JavaEE.Next(): Java EE 7, 8, and Beyond Reza Rahman Java EE/GlassFish Evangelist Reza.Rahman@Oracle.com @reza_rahman 1 The preceding is intended to outline our general product direction. It is intended
More informationDealing with Bugs. Kenneth M. Anderson University of Colorado, Boulder CSCI 5828 Lecture 27 04/21/2009
Dealing with Bugs Kenneth M. Anderson University of Colorado, Boulder CSCI 5828 Lecture 27 04/21/2009 University of Colorado, 2009 1 Goals 2 Review material from Chapter 11 of Pilone & Miles Dealing with
More informationWebApp development. Outline. Web app structure. HTML basics. 1. Fundamentals of a web app / website. Tiberiu Vilcu
Outline WebApp development Tiberiu Vilcu Prepared for EECS 411 Sugih Jamin 20 September 2017 1 2 Web app structure HTML basics Back-end: Web server Database / data storage Front-end: HTML page CSS JavaScript
More informationDelivering Rich Internet Applications with Ajax4jsf
Delivering Rich Internet Applications with Ajax4jsf Modern Web 2.0 applications set a new level of expectations for enterprises on the Web. Developers face heightened requirements for richer user interfaces
More informationDeveloping the First Servlet
Overview @author R.L. Martinez, Ph.D. Java EE (Enterprise Edition) Java EE is a software platform consisting of multiple APIs (Application Programming Interfaces) and components that support and enable
More informationdjango-baton Documentation
django-baton Documentation Release 1.0.7 abidibo Nov 13, 2017 Contents 1 Features 3 2 Getting started 5 2.1 Installation................................................ 5 2.2 Configuration...............................................
More informationWebRTC: Possible? Don McGregor Research Associate MOVES Institute.
WebRTC: Possible? Don McGregor Research Associate MOVES Institute mcgredo@nps.edu The World Classic simulation applications: can we do them in the web browser? Pretty much. I think. 2 1990s Start: Classic
More informationMobile & More: Preparing for the Latest Design Trends
February 26, 2015 Mobile & More: Preparing for the Latest Design Trends LATEST TRENDS Responsive Takes Over Material Is the New Flat Hero Images Getting Bigger Interactions Are Micro Video in the Background
More informationECLIPSE TUTORIAL HOW TO WRITE JAVA PROGRAM IN ECLIPSE STEP BY STEP ECLIPSE TUTORIAL FOR BEGINNERS JAVA
ECLIPSE TUTORIAL HOW TO WRITE JAVA PROGRAM IN ECLIPSE STEP BY STEP ECLIPSE TUTORIAL FOR BEGINNERS JAVA page 1 / 5 page 2 / 5 eclipse tutorial how to pdf Eclipse Tutorial for Beginners - Learn Eclipse in
More information3,500. The Developer Division at Microsoft
3,500 The Developer Division at Microsoft 800 The VSTS team spread out across 40 feature teams Team Foundation Server (TFS) Visual Studio Team Services (VSTS) Team Foundation Server (TFS) Visual Studio
More informationWhat about when it s down? An Application for the Enhancement of the SAS Middle Tier User Experience
Paper 11421-2016 What about when it s down? An Application for the Enhancement of the SAS Middle Tier User Experience Christopher Blake, Royal Bank of Scotland ABSTRACT The SAS Web Application Server goes
More informationCourse 20486B: Developing ASP.NET MVC 4 Web Applications
Course 20486B: Developing ASP.NET MVC 4 Web Applications Overview In this course, students will learn to develop advanced ASP.NET MVC applications using.net Framework 4.5 tools and technologies. The focus
More informationLab session 1 Git & Github
Lab session 1 Git & Github Administration Course personnel: Lecturer - Refael Dakar, currentintec@gmail.com TA - Avi Hayoun, hayounav@cs.bgu.ac.il Office hours - Tuesdays, 14:00-16:00 @ 109/37 (might change)
More information