Can Java and JSF on the server-side make mobile on the front end easier?
While many software developers are learning new programming languages to deliver native mobile solutions to users, companies like ICEsoft with their ICEmobile solutions are solving the mobile development problem with HTML5 on the front end, with Java and JSF running on the server.
No matter what type of Java development you do, from server side or client side programming to consumer or enterprise apps, mobile is probably changing the way you do your job. There's just no getting around the fact that a high percentage of apps today need to be mobile. For early adopters, this transition has been very rough. Fortunately, the trailblazers are always followed by those who smooth the route for the rest of us. ICEsoft Technologies is one of these firms, with an ICEmobile solution that's specifically targeted at mobilizing Java EE web applications in this new era when HTML5 seems to be taking over. For the server side Java community, it may offer the path of least resistance in an area where resistance is futile.
JSF is extensible, so the idea of building component libraries is completely natural and supported by the JSF standard.Steve Maryka, CTO at ICEsoft
Mobile development is not business as usual
When an enterprise shop needs a mobile solution, they have to make some fundamental decisions. The initial choice is between doing native application development or trying to maintain a web-based approach. According to Steve Maryka, CTO at ICEsoft, "That first decision point has a lot of impact on how you're going to develop applications. Going native is a pretty big deviation from what the enterprise developer has been doing. You need new skills, new technologies and new approaches to develop for different platforms or find a cross-platform solution."
Because of the complexity of switching to a native iOS or Android approach, many enterprises prefer using a web based approach. After all, that's the approach they embraced with their desktop apps. Getting more reach out of the existing backend makes moving into the mobile space more robust and less tenuous. Of course, choosing between the native vs. web based mobile development approach is just the first fork in the road followed by many others. "Are you prepared to go down to low level JS development? For a lot of places, that is their only option to get the feature sets they want to build to deliver in a mobile space. Ultimately, you need HTML5 and extensive JavaScript to deliver the look and feel users expect in a mobile app."
Componentized mobile development saves the day?
Even web based mobile with HTML5 and JavaScript is still a much more client-centric approach, and the skillset of the typical Java developer doesn't translate directly. There are certainly more skills coming online in this area with existing programmers beefing up their knowledge of JavaScript and HTML5 and newly minted graduates who cut their teeth on mobile. But there's really no substitute for the quality that comes with doing what you already know well.
Going native is a pretty big deviation from what the enterprise developer has been doing.Steve Maryka, CTO at ICEsoft
Maryka claims the ICEmobile solution fundamentally changes the equation. It compiles the low level coding into higher level components that Java developers can work with. They can maintain a standard server based approach with declarative techniques for user interfaces and higher level mobilized web controls. This is a significant benefit for enterprise shops because it allows them to reuse existing backend infrastructure, tools, and expertise. Instead of being outdated, these Java resources all apply directly to building a mobile application.
Overcoming inertia on the server side
With novel solutions popping up all over the place to create workarounds for server side development, is there a chance that middle-managers will say, 'That's not standard, so we won't us it?' Maryka says his firm really hasn't run into this problem with clients. "JSF is extensible, so the idea of building component libraries is completely natural and supported by the JSF standard." After all, there's a transitive property to standards that applies to solutions like the one put forth by ICEsoft, which puts risk-averse clients at ease.
The real stick in the mud problem has more to do with the infrastructure than with the people. Steve reveals that the real issue is having standards that are too low, or outdated, not ones that are too high. Where one might run into problems would be enterprise application servers that are working with an outdated version. For example, an ancient WebSphere setup without standard support for various JSF 2.0 requirements can create a situation where enterprise development teams are unable to use ICEfaces 2.0 because their server base isn't supporting it yet.
While only time will tell if there will ever be a truly write once solution to both the mobile and desktop browser delivery problem, ICEsoft does have some Java-friendly answers for many of the key problems, from providing the right look and feel to accessing native capabilities without native development, posed by mobile . If your organization is looking to adopt a mobile strategy, or is facing problems with their existing one, ICEsoft's solutions in this space are definitely worth checking out.
What types of Java based solutions are you using to solve the mobile development challenge? Let us know.