Icefaces vs Richfaces vs Primefaces for web and mobile applications - mobile

I would like to know what is the best technology to use when it comes to application development that works well for both web and mobile? The world is moving towards HTML 5 and CSS 3 and Icefaces , Richfaces and Primefaces all have HTML 5 support. I have to choose the one which would be better for existing applications to be converted as well as new application development.
I did my part of the research and found out that either Richfaces or Primefaces would be better but most of my applications were developed using IceFaces.
Please throw in your suggestions to choose the best technology for web and mobile. Thanks.

You may not be aware that ICEmobile-Faces 1.0 has just been released. It is based on the ICEfaces framework, providing all the benefits of ICEfaces, but includes a suite of light-weight mobile components. It allows you to write mobile applications in JSF that adapt automatically to the client device, so you can build one application that spans Android, iPhone and Blackberry devices. Additionally, ICEmobile offers device containers that provide device-specific integration to native features like the camera. Our focus going forward is to develop capabilities that easy development of web apps that span desktop and mobile environments.

Related

Should I still use Silverlight/XBAP

We need to create an application that can be used via the browser but that can also be used while offline.
The browser Version will be used by our customer to do calculations. Each customer needs to log into the application with a username and Password.
The offline version will be used by our own employees. They need to be able to use this Version while not connected to a Network.
The data that is needed for the application will be stored in XML files.
We are mainly programming with C# and the .NET-Framework. We thought about using WPF for the client version.
I have read that you can use Silverlight or XBAP to create a browser Version of the WPF application. AFAIK Silverlight is a dying Technology. How about XBAP? Would you still invest into this Technology?
The other solution would be to create two front end applications: The WPF application as an offline application and a web application (e.g. ASP.NET MVC) as a web application. Thought, this would mean that we would have to create two frontends (more work).
Is there another alternative?
Would it be better to create an HTML/JavaScript application (e.g. with AngularJ or something similar)?
As a former Silverlight Developer I can only recommend not to use Silverlight for new application development. Microsoft has suspended the further development of Silverlight and you will not get any new features (only security fixes). I really liked the technology and the similarity to WPF but for me it is deprecated.
Even some Browsers (like Chrome) do not support Silverlight anymore and you need a workaround to get it running (See also Chrome doesn't support silverlight anymore? How to solve this?)
Develop a Backendsystem that provides a REST-API (using ASP.NET WebApi as an example) for your clients and develop a Browser client application using modern HTML/CSS/JavaScript Frameworks. If needed/required a desktop application using WPF that consumes the REST-API.
Silverlight may be dying, but that does not mean you should avoid using it. Silverlight is still a viable technology that you can use, however browser trends seem to be phasing out Silverlight support. As far as I know, Microsoft Edge browser is no longer supporting Silverlight, so you will need to use Internet Explorer. This isn't the end of the world, but it's something to think about.
As for WPF, this too is being replaced by Windows Universal Apps, albeit slowly. However this isn't too much of an issue as the skills you have learnt in WPF are easily transferrable. WPF itself is not receiving as many new features as it used to, you could say it's finished.
It isn't always easy to keep up with the latest trends, and there will always be something cool and hip just around the corner, however one thing is for sure, the .NET Platform, including the new refactored Universal App APIs are here to stay, and won't die any time soon.
The current trend sees Web Technologies, such as ASP.NET playing a much bigger role than traditional desktop/tablet/phone applications. I would say that developing for a web browser is certainly a popular choice.
That being said, Windows Universal Apps is also a good choice, in fact, any technology that makes use of the .NET Framework is ideal.
As for my recommendation, I would suggest looking into an ASP.NET web application or Web API to which a desktop application, such as WPF (still a viable technology for enterprise applications) or Universal Windows App can hook into. An ideal scenario would be that both applications share the same back-end code, which is certainly possible as they both use the .NET Framework.
For your requirements, it may even be possible to avoid having to create a desktop application altogether, a web application can be hosted on a machine on the local network and clients can still use the web app. This is assuming that these clients don't have internet access of course.
TL;DR: .NET is legit, use ASP.NET.

Porting an app developed with Android SDK to codenameone

How would one go about porting an app built with Android SDK to Codenameone? The objective is to port to multiple OS.
I suggest checking out the Android trail in the Codename One website http://codenameone.com/android.html generally you would need to rewrite your UI and networking code. Adapt to a smaller subset of Java functionality etc.
You could keep most of the business logic intact though. I would suggest starting with a GUI builder application and some of the How Do I? tutorials just to get the UI right then the rest should be easy.

Platform Independent Mobile Development SDK for a small task

I want to create an mobile phone app which can run on more than one mobile OS. with a little bit of browsing it became clear that I can use SDK's like Phonegap or Appcelerator so that my app would run on any mobile OS. my problem is that i dont know which SDK should I use ? All that i require from my app is that
1. It should run on the mobile 24x7.
2. It should have access to the GPS functionality of the Mobile phone.
3. It should send a data string to a specified server.
Should I work with Phonegap or Appcelerator or are their any other better SDK's for this tiny task ?
Thank you
It's better to go with Appcelerator titanium because it gives native look to your application..., as the application would be implemented in javascript.
please go through this link
http://docs.appcelerator.com/titanium/2.1/index.html
Phonegap works on 7 mobile platforms vs 2 mobile platforms for Appcelerator
I would say, from my own experience, in order to create a multi-platform application with a native look/feel and native performance it is best to go with Appcelerator Titanium.
It is very easy to have an application run on both iOS and Android with minimal change of code.
Either Titanium (JavaScript) or the combination of PhoneGap and Sencha Touch (HTML/CSS/JavaScript) will suit your purposes, however, as stated above, I advise using Titanium for the native feel.

Best program for making app for mobile (android, iphone and others)

i try for a few time now to make app for mobiles with appmobi XDK phoneGap XDK from appmobi, sencha and appcelerator but except iphone where the app works ok in android mobiles doesn't work well. Any other program except these or any tricks for make it work better in android and in others?
any help it will be very important
thanks
Actually i want to avoid that.I want to build for all mobiles together in the same time.That's why i used that programs. I don't known a lot of thinks and i am looking for a simple way to do that. I want a way which i can read about it on internet and i can find thinks because except jquery mobile i can't find for any other library. So did anyone known how i can find the best way that's my question.
thanks for your time and your answer.
Not sure why you're asking for a "program" and then referring to some technologies/tools (Appcelerator, PhoneGap, etc).
Anyways, I've been developing cross-platform mobile applications in the last few months using Appcelerator for almost everything. However, they technology you'll choose also depends on your needs.
There are three kinds of mobile development these days:
Native Mobile Development: Using Objective-C (language) + X-Code for iOS and Java (language) + Android SDK for Android, etc. You can always choose something like Appcelerator if you're targeting multiple platforms, as you mentioned earlier. Good for: Performance, Native capabilities (using the camera, for example). Recommended Tools: Titanium Appcelerator.
Mobile Web Development: If you have only web skills (HTML/CSS/JavaScript) you can always make your web application mobile-compatible, using tools like jQuery Mobile or Sencha Touch. Recommended Tools: jQuery Mobile, Sencha Touch.
Hybrid Mobile Development: Using web technologies for your application (you'll be loading a web page), but using a native application (a web wrapper) for making the application Native (and distributable) across the Play Market or AppStore. Recommended Tools: PhoneGap, Trigger.io, or you can even use Titanium Appcelerator and use a Web View Component
How you should take a decision?
Do you need native capabilities (use the camera, accelerometer, etc)? If you, you need to go either native or hybrid.
How many platforms do you plan to support? If it's only Android and iOS, then you can use either Appcelerator or make it native. If you're planning to support more platforms PhoneGap or a Web Application sounds more reliable.
Do you plan to deliver your application through the AppStore/Play Market? Then you need to make it native/hybrid.
Note/Recommendation: By reading your question I noticed that you're really confused on mobile and programming stuff. Before going so far, you should take some time in reading more about overall development.
Perhaps not exactly a program but what can be quite convinient(based on your application needs) is to make it a webapplication. Then you can use libraries such as Jquery mobile to adapt the website to the mobile platform as well as incorporate technologies only available on smartphones, such as swipe, orientationchange etc. Then you can make a simple Webviewer for androind and iphone which can be made seperately.
You can look at Kendo UI
kendo UI mobile have support for : iOS 3.0+, Android 2.0+ and BlackBerry touchscreen devices.
What i really liked about it is native-like UI experiences for end users automatically on same code base for different OS.
You can check demo , change OS using OS SIMULATOR MODE
I am not associated with Kendo.

Chat client on Mobile

We have to develop a chat client for mobile. The devices should be for the following:
Android
iPhone
Blackberry
Symbian
Windows mobile
Windows CE
Palm
Which technology we should use for the multiple OS computability. We like the most of code common.
This chat client also support the video and audio chat.
Android and BlackBerry: Java
Symbian and Win Mo: C++
iPhone and Palm: Objective C and C
It is possible from to write the apps so that some common functionality can be reused, but it needs careful design. But you are a bit out of luck on this.
I would recommend starting with Java and Objective C implementations as this will get you Android, BlackBerry and iPhone, which have a lot more traction in market than other platforms.
Look at cross platform frameworks like PhoneGap - that way you can keep the UI and as much code as you care to port to JavaScript common, then do the remaining in native code.
Currently React Native framework gains popularity as a solution for implementing JavaScript based apps for Android and iOS platforms. Here is a guide for React Native.
JavaScript SDK can be also used for preparing desktop app for Windows via Electron for example.
Since you need to cover a lot of platforms, you might need also a backend solution providing an API option to cover all your needs.
Try ConnectyCube. It has React Native support in its JS SDK and provides API to cover the rest of cases. So, it's flexible enough and you can use it for developing apps for all your platforms.

Resources