Sencha touch vs Ionic framework pros & cons [closed] - ionic-framework

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 4 years ago.
Improve this question
I am Phonegap/Cordova developer, I plan to move to new technology. I am a little bit confuse that which is best for mobile application development and why.

Really, it depends on what your application requirements are. From my experience, if your application requires a lot of hardware resources, don't use cross platform options, not even Xamarin. I would use native approach in that kind scenario. If your application is a lot like a mobile friendly web application and you are pressed by deadline, I would recommend using Hybrid approaches. Within hybrid approaches I would say use ionic for the following reasons.
Welcome to the Ionic World!
Free, Open Source, Constantly growing and Great documentations
Its on top of cordova. So you will have access to hundred of cordova plugins to achieve native functionality, i.e. access to native APIs.
The power on AngularJS comes built in with the framework.
Touch Optimized UI, removes normal 300 ms delay from webview on touch!
MV* Pattern
Built in CSS components and Ionicons
~ 100% code share
Cloud app reports
No special SDK required
Available from NPM
Great with testing
Scalable
Check Ionic Showcase for the top apps built on Ionic.
Check Ionic vs other contenders.
PS, I haven't spent time on Sencha and its mainly commercial. I could not find its source code on Github. Sorry Sencha!🙁
Both Ionic and Sencha run on Cordova but seriously, Ionic has done terrific job and I would recomment it anyday.
UPDATE
Check out NativeScript and React Native. Both of them deliver native UI rendering (unlike Ionic and Sencha) and look promising. They are also backed by Telerik and Facebook with React being one of the most starred repo on Github. Check this article by Nic Raboy.

Related

ionicFramework vs Xamarin.Forms [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 1 year ago.
Improve this question
I want to build an application for all platforms but I wonder!
What is the difference between ionic-Framework and Xamarin.Forms and,
Which is better to build an application for all platforms?
In the hands of skilled engineers, Ionic and Xamarin are both exceptional cross-platform development assets, which, compared with building native apps for two or more platforms, will save your business both time and money. Any decision about which one to use, though, should be subject to rigorous assessment of your needs, budget, and development objectives.
If app quality is a priority, you’re integrating with a lot of preexisting .NET architecture, and/or you need to build apps for a wide variety of platforms and versions, Xamarin will almost certainly be the best fit.
For smaller or less frequent projects on restricted budgets, Ionic will provide you with a fast and effective route to functional if unspectacular mobile apps for iOS and Android devices.
Depending on your resources, and whether you will develop apps in-house or with the help from external development companies, you might even wish to utilize both of these popular frameworks. Neither one is particularly costly to implement, especially since Microsoft started bundling Xamarin for free with the Visual Studio Community edition and Xamarin Studio (for Mac).
I think it mainly depends on what you want to do in your application.
If all you want to do is pushing some data and images (e.g. create a shop platform) i don't see any reason, why ionic wouldn't do the job and probably you'd see results a bit faster, as you don't need to struggle with a lot of native adaptions (such as file system access, etc...), though I don't think that choosing xamarin would set you back in terms of X months more.
However if it comes to using native features, such as camera, gps, sensors, whatever you will probably be limited to what the ionic api offers and I don't know how long the turnaround times will be until new features which may appear in the future are getting implemented into the framework.
Performancewise I am honestly sceptical if that mix of html, css and javascript/jquery will be anything comparable to what xamarin can get you to, as Xamarin actually produces an app which can compete with apps written natively.
I am not sure how deep you can get "under the hood" with ionic, though I know that with xamarin, you can actually go very deep and develop features that can use the native code of your target platform.
Actually by looking at the user base (or better to say the amount of questions here on stack overflow) one might be tempted that ionic has more questions than xamarin.forms, however that doesn't take into account that actually any question about xamarin, xamarin.forms, xamarin.android, xamarin.ios and c# might hold relevant answers and support for your upcoming problems. However to be fair, also ionic has quite an impressive amount of q&a answers posted here, so i would say that is a draw.
My conclusion would be: If you need to create a data-pushing app fast, you could use ionic, however if you need performance, native methods and want to be able to use particular native features, Xamarin would hold that door open for you.
Disclaimer: I have been developing apps with xamarin forms for about 5 years now and have never used the ionic framework at all and therefore my knowledge about ionic is limited to what I read on summaries. Probably my answer might omit particular benefits that ionic might offer and I really hope that a more experienced ionic developer might have something beneficial to add.
However, If you were asking about my personal advice, My answer would be: Use Xamarin
We had to answer this question about 18 months ago. For us the core question was if the app also needed to be deployed to a web environment. In our case we needed to support the same functionality in a native iOS/Android app, as well as a website (for the features that the web can handle). In that scenario Ionic is the clear winner.
If you don't have to worry about web, then I think Xamarin is a great option. I'd also be checking out Google's flutter too, which is a newer cross-platform option (again assuming no web needed).

How to create apps for mobiles which are using KaiOS? [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 2 years ago.
Improve this question
I recently found in news that KaiOS has been used in 4G Volte Enabled feature mobile phones. I was wondering how to create apps for KaiOS. Any help on creating apps for KaiOS has been greatly appreciated.
You can find the kickstart here https://developer.mozilla.org/en-US/docs/Archive/B2G_OS/Firefox_OS_apps/Building_apps_for_Firefox_OS but as KaiOS is B2G forked i would still suggest you to go to kaiOS official website to check the proper flow for the application development.
Below are the series of steps you need to go through if you don't want to get stuck in between of development:
First you should understand how applications actually work in kaiOS environment and for that you need to first understand the architecture for that. You can give a read to https://developer.kaiostech.com/introduction/architecture for more understanding.
Then comes setup for your application which you will find here at https://developer.kaiostech.com/environment-setup . Mozzila firefox shift+F8 will open the webIDE where you can see your devices connected but for that you should have proper drivers installed for your phone. You can use firefox emulator 2.2 (stable) as well for initial start.
Now its time to have your first application onboard to kaiOS . You can make your application in any of the client specific JS like angular , react or even plain javascript but the important part is to have manifest.webapp in root folder for compatibility.You can give a read to https://developer.kaiostech.com/first-app.
You are able to see your first application on your phone !! Now the real pain arrives when it comes to navigate through the application by keypad but thanks to naviboard library which will do this work for you to align your navigable items and navigate through it by simple API’s. You can find the library at https://github.com/amanboss9/naviboard.
When you are done with navigation part of feature phone, you can go through and develop as much as you can as if it is a web application and can develop a lot of things.
Check the sample project at https://github.com/amanboss9/kaios-angular-app. This Boilerplate can save lot of time when it comes to setting up everything from scratch.It included Angular1.6, naviboardJS(For auto handling navigation part of your application) and Gulp.
KaiOS is based on Mozilla's open source B2G OS. The apps are built purely with HTML/JS/CSS stack and any web application/website that is mobile friendly can be an app with just minor modifications. You can use the inbuilt webIDE to build apps for Mozilla OS, see more here.
https://developer.mozilla.org/en-US/docs/Archive/B2G_OS/Firefox_OS_apps/Building_apps_for_Firefox_OS/Firefox_OS_app_beginners_tutorial
I used to build apps for Firefox OS before it was dead lets hope to see whether it's reincarnation succeeds.
I will try making apps when I get my hands on the Jio Phone and will update here.
Update:
KaiOS has released a newly updated their website with a new IDE called Kaiosrt which is much better and actually works.
KaiOS is a B2G OS forked from Firefox OS.
You can use Angular/React/Jquery or any JS lib/framework to develop apps on Kaios
Packaged app should have all js/image/html/css file packed locally, External link reference in index.html will not work. Blocked by default- CSP policy.
Mobiles (JioPhone/Nokia Banana phone) with keyboard needs to handle its own key events, Refer Kaios Sample app
This is in the FAQs of KaiOS offical website:
Can I develop apps for KaiOS?
KaiOS is a curated platform for apps and we are working closely with
app developers to provide the best experience for our users. At the
moment we are not accepting submissions into the Store, but will do so
in the future.
(https://www.kaiostech.com/faq/#question-12)
Guess you could leave your contact email there and will get updates in the near future.
KaiOS have officially launched the KaiOS Developer Portal.
It's got everything developers need to start building and distributing KaiOS apps.
Furthermore, build your first app with JavaScript (Vanilla), React,
Vue.js and Angular with code examples herein. Then, testing your
apps with WebIDE or Simulator.
Tools and resources include:
A guide to building your first app, with sample code, reference guides, and software development kits (SDKs).
Instructions for ENV setup to configure your development environment.
A simulator running Gaia and web apps in a Gecko-based environment.

If you have developed an app for mobile devices, which line did you take? [closed]

Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 12 years ago.
Improve this question
Developing mobile apps is a challenging job.
Customers want to be present not only on iPhone and iPad but maybe on Android and other mobile platforms like Windows Phone 7, Blackberry and Symbian, too.
It costs a lot of money to keep this apps up to date on different platforms. Besides the developer has to dig in different sdk's and learn different languages.
I thought about having just one app, that is rendered in a mobile browser like webkit, which is a standart for rendering web content.
Of course there are constraints like the use of camera or specific hardware for advanced rendering. But I think this will change over time.
How do you challange that? Do you re-use your code? Could mobile web be an alternative?
If I had to make the same app for multiple platforms (iPhone, Android, Blackberry, Windows Phone 7, etc.), I'd probably create a web app and utilize the new HTML5 features.
Alternatively, if you want to use the native languages (for added support with camera, etc.), it'd be quite hard to reuse the code. You could use the same logic, but you'd still have to rewrite a lot of the actual code.
Some other options could be Titanium or PhoneGap.
Using a web app bundler like PhoneGap would be my choice.
Mobile web can surely be an alternative.
I have been hearing a lot of things HTML5 is promising for mobile devices. If all of that becomes a reality, then we can really create web apps as powerful as native apps!
If your app is fairly simple and doesn't require the camera, fancy graphics or location based services then a HTML5 app is the way to go. Otherwise what I would do is develop it on the platform that you are most comfortable with and then outsource development to people who are specialised in the other platform(s). It's hard enough keeping up with one platform let alone five.
HTML5 is unfortunately not going to solve this problem for you because the companies have no vested interest in working together. We have tried middle layer products but you always come up against a roadblock that they cannot overcome or a device they do not support (e.g. our latest app is for BlackBerry PlayBook which uses Adobe AIR and a PlayBook SDK which is in constant flux).
My recommendation would be develop you apps using an early version of Java and implement this separately for each platform.
Good luck.

Limitation on mobile cross platform development [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 3 years ago.
Improve this question
Currently, I plan to port a Java desktop application, to the Android platform. Besides official Android SDK, I also take a look on, as it will be a plus, if it is able to run in iphone with minimal effort.
http://www.rhomobile.com/
http://www.phonegap.com/
appcelerator.com
Those cross platform frameworks seem nice. However, I was wondering, what are the limitation on those frameworks?
Will they still have the same look and feel as native Android application? (Or a native iPhone application)
Is there any difference in the speed and responsiveness of the application?
Are they able to provide same set of GUI components as in Android SDK? (Or iphone's)
Limitation access to I/O, network resource, hardware?
Ability to use threading?
From my experience (my background being native mobile app development), we get a lot more control with native apps vs framework based apps. That advantage has greatly reduced in android and iphone platforms, however there are a few other things to condsider:
If it is a one off app then you are
better off working with the
frameworks you mentioned, they
provide all the features you asked
about and for a beginner, are a bit
faster to develop.
If you are going to do multiple apps
then it makes sense to have a custom
framework for your needs. In this
case you can reuse parts of your
Java desktop app and absorb them
into your framework. You will
probably need to create iphone and
android/java versions.
If you create your own framework,
you can also incorporate other
software development best practices
like CI more easily when compared to
off the shelf frameworks.
The UI components are different for
Android and iphone and you are
better off having them different as
they have quite different
sensibilities and interaction. So it
may not be a good idea to aim for
one to one mapping.
Speed, performance etc are not an
issue, same for threads support.
Hope these points help in your decision making process.
This post will be immensely useful for you :)
Comparison between Corona, Phonegap, Titanium
As for threading - since both PhoneGap and Titanium (I cannot speak to RhoMobile) allow you to hook into native code from JavaScript (and the reverse) I see no reason why you cannot multi-thread an application using one of these technologies.

iPhone for Intranet [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 3 months ago.
Improve this question
It started one day while I was using my iPod Touch: wouldn't it be cool to have XXX function (from our internal desktop application) available on the iPhone as an native app.
I had that idea because (A) I think our current bulky desktop internal 6+ years old application suite needs a major face lift, and (B) instead of continuing our waterfall development methodology, which usually resulted in a project canned after tens of people spending months on something that no user cares about. I hope that we can start doing lots of tiny projects with 2 week iteration cycles using Agile methodology.
Oh, I also want to find an excuse to use XCode in the office.
After researching, I found out that pretty much NO COMPANY does iPhone native intranet applications because no company wants their internal development needs to be controlled by Apple who tends to kill cool apps like Google Talk. Since our company is ultra concerned about security and safety, the phrase "using a jailbroken iPhone/iPod Touch" is the same as saying "please fire me".
So I came up with plan B: using ComponentOne iPhone Studio to do a iPhone optimized intranet web application. I spent 2+ weeks and it is about finished. My supervisor seemed very excited about it, so hopefully we can turn it into a long term project.
My question is: have any of you tried writing an iPhone application (either native app or web based app) for your company's internal use, and what are the technical and political challenges?
I've written three internal applications (native) for my company.
We are able to use ad-hoc distribution (less than 100 users ; do not qualify for the 500 person enterprise program).
It's been great. The execs love it, our salespeople are using them like crazy. A few new customers have already been credited to being impressed by our tech and coming on board when they saw our apps.
Win-win-win so far.
We've talked about it some at my office, but that's as far as it's gone. The Enterprise developer license allows you to control the distribution of your app within your organization, not Apple. The AppStore isn't involved at all.
If you write your web applications well it is very easy to add an interface for most mobile devices not just iphone.
We use things like: intranet.domain.com/application/mobile/
We always create our web apps with layers of functionality so that the UI side is easily switchable. My favorite at the moment is MVC style. This way you just have a UI designer work on the mobile interface but all the underlying business logic is the same which ever device you are using.
I would also still love to write native iPhone apps for our systems as they are just much cooler :-) Damn you Apple for not allowing us.
I build all of my iPhone app as we apps using ASP.NET. ComponentOne has Studio for iPhone which lets you build ASP.NET sites that look and behave like native iPhone apps. It's a great solution for Microsoft developers like me who do not have access to Apple machine or Dev Kits.
I used it to build a mobile version of our website that calls the same class library our main website does. This is my favorite part of the concept, using my existing model.
Here is the link where you can read more about the iPhone ASP.NET controls