Our Technology Insights

Keep up to date with software development, design, cutting edge frameworks and best practices.

Building Web Apps with Lift framework

Lift Web framework is written in Scala language. Lift Web applications works with Scala and Java libraries and it can be deployed easily to any Servlet Container or App server (like Jetty or Tomcat or WebSphere).

Lift apps are high performance and scalable. Lift templates are different from traditional template language like FreeMarker or Velocity frameworks. Below list will help you to understand why Lift is different and better.

  1. Designer friendly templates
  2. Zero logic in the HTML
  3. Built in JavaScript support
  4. Built in REST support
  5. Built in Lazy loading
  6. Resistant to security vulnerabilities

Web Components - Future of Web Development

Web Components allows developers to create reusable web components that can be shared with others and reuse in their own application. The Specs of Web Components are:

  1. Shadow DOM: Encapsulate the Sub DOMs and it's CSS
  2. HTML Templates: Reusable content and style information goes into templates
  3. Custom elements: To define new elements in HTML
  4. HTML Imports: Declarative loading of elements and resources

Right now Web Components are natively supported by Chrome, Opera, Safari and Firefox browsers. For IE and un-supported browsers application need to use webcomponents.js polyfills to use the new standard.

Polyfills use browser native support first if available. As the browsers mature, application gets the benefit of native implementations and no need to use the polyfills.

Web responsive design - Bootstrap

Our the past few years, Twitter Bootstrap became a popular web development framework. If you're not using a responsive framework for your website yet, it's time you to take a look into Bootstrap.

So what are the benefits of Bootstrap?
  1. Speed of development/Saves time
  2. Responsiveness
  3. CSS and JS Components
  4. Cross browser support
  5. Well documentation with examples
  6. Open source and third party plugins
  7. Big Community support
  8. Easy Customization

Given When Then = BDD Approach

Behaviour-Driven Development (BDD) emerged from Test-Driven Development (TDD) and Acceptance-Test Driven Developement (ATDD). BDD uses Given-When-Then style of representing test scenarios and application features . Each test scenarios consist of test steps which fall under Givens, Whens and Thens. We automate test fixtures and scenarios using Java, JavaScript and Groovy languages using BDD approach. Few BDD frameworks:

  • Spock framework
  • Cucumber JVM
  • Cucumber JS
  • JBehave framework

REST API - Future of SOA

RESTful Architecture is effectively an implementation of Resource-Oriented architecture (ROA).

ROA - is a good fit for Service oriented Architecture (SOA) implementation. Check out KickStartPros approach on RESTful API Design.

  • REST is Resource Based Representation. REST identifies things by JSON or XML & URIs.
  • REST behavior/actions are identified by HTTP methods (GET, POST, PUT, DELETE).
  • Using Uniform Interface Architecture with REST you can decouple Client and Server.
  • Layered System and Cacheable Architecture with REST API gives better performance.

Check out our complete presentation on RESTful API Design ...

Use Java 8 Lambda Expressions

Java 8's Lambda expressions is the biggest change to the Java language. For the following reasons use Lambda expressions across your application.
This feature:

  • Enables you to treat functionality as a method argument.
  • Helps to easily express instances of single-method interfaces (functional interfaces).
  • You can replace anonymous class with a lambda expression.
  • Less code Ceremony.

Use Lambda when your application need to perform below use cases ...

Testing - Geb with Spock

KickStartPros are experts in test automation of web projects. Check out our BDD approach using latest technologies Geb, Groovy, Spock and Selenium WebDriver.

  • Geb is a browser automation solution written in groovy language.
  • Geb uses the power of Selenium WebDriver and Groovy DSL capabilities.
  • Geb provides Navigator API for easy location of page elements.
  • Spock is a testing and specification framework.
  • Geb with Spock APIs simplifies test automation using Page Objects and Given-When-Then pattern.

TestNG for Integration Testing

One of our client wanted us to Automate all their manual regression UI Tests using Java and Selenium WebDriver.

JUnit 4 and TestNG are both very popular unit test frameworks in Java. TestNG framework is better candidate for Integration Testing as it provides more features out of the box. Check out the Integration Testing features of TestNG ...