Skip to content

Web Application comparing 3 different approaches for template views

License

Notifications You must be signed in to change notification settings

xmlet/topgenius

Repository files navigation

topgenius

Coverage Status

Web Application comparing 3 different approaches for template views: Handlebars, HtmlFlow and ReactJS.

topgenius architecture

Run

To build and run topgenius web app locally do this:

$ ./gradlew clean stage
$ java -jar webserver/build/libs/topgenius-1.0.jar

Topgenius app should now be running on http://localhost:3000/.

JMeter

We include in jmeter folder the scripts used to run performance tests of topgenius web application comparing the three view engine approaches.

Notice:

  • You should have Jmeter installed with the Selenium/WebDriver plug-in.
  • These JMX files are configured considering chromedriver is accessible via /opt/homebrew/bin/chromedriver.
  • Update chromedriver PATH according to your installation.

Next we present an example of the command to run the test script of HtmlFlow:

jmeter -n -t TopGenius-SSR-Chrome.jmx -l <output-filename>.jtl -Jtemplate=htmlflow -Jcountry=australia -Jlimit=5000

You may change the following parameters:

  • template - htmlflow or handlebars
  • country - any country
  • limit - An integer to a maximum value of 10000

To test React you should use a different script to detect page load completion due to the use of CSR (client-side rendering).

jmeter -n -t TopGenius-React-Chrome.jmx -l <output-filename>.jtl -Jlimit=5000

Running these tests with JDK version 11, SE Runtime Environment 18.9 (build 11+28), and ChromeDriver 74.0.3729.6 we got the following results:

topgenius results

About

Web Application comparing 3 different approaches for template views

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published