I'm trying to decide what tech to use to create a mobile app. I want to be able to share as much code as possible between web, iOS & Android. To do this I'm planning on using HTML & javascript, then wrapping the apps using PhoneGap.
I've tried using AngularJS several times, but it's too complicated for me to learn (I want to get the app out, not spend months learning the framework). I've been watching tutorials on ember.js and it looks like it has a much more familiar architecture for me.
I like the look of Kendo UI core & mobile, but can't find any examples of using the widgets from an ember app. Is it possible to do that, or would it likely be so painful or would I have to write so much glue code that I'd wish I hadn't bothered? If so, is there a better way I can get a decent set of cross-platform widgets?
Related
What is the fastest way to move (migrate app) from Ionic to NativeScript with the least efforts?
Without rewrite old AngularJS controllers and services.
And using NativeScript with AngularJS not Angular 2.
I need to re-write UI with CSS (replacing HTML with XML) only.
Question is: Does this applicable? or there is no option but to re-write whole app!
If yes, what the path that I have to follow to make it?
The story if you want to know why I want to do this:
I have a mobile application that based on Ionic (ionic 1 with AngularJS), Ionic is really nice platform to build app, but a lot of headache specially with performance challenges, in my App I have a really an issue with this through many devices, until I found NativeScript which is really awesome, so I'm thinking about move my current live app from Ionic to NativeScript.
Until now, as I see seems I have to re-write whole app from scratch, but this is costly and not an option for me, I was searching in internet and found no clear answers, even in documentation they seems only using Angular2 with TS (which is better but not have time for this now) or just plan JavaScript.
This is good side reference: Lost in hybrid app frameworks like Ionic, Cordova,
Simply put you can't. Angular 1 is dependent on the DOM. With NativeScript there is no DOM. Which is why you have performance issues in the webview. You need to just bite the bullet and rewrite it with ng2 you'll thank yourself later. The webview is your downfall with your performance on Cordova and to get away from that you'll have better performance and the perf benefits you get with ng2 are also very nice. Heres a link with some good info on ionic 2 to NativeScript but that's as good as it gets. Because you can't easily from Cordova webview app to native UI like NativeScript or react native. https://www.thepolyglotdeveloper.com/2016/05/converting-ionic-2-mobile-app-nativescript/
Here's someone who just went ionic 2 to NativeScript and commented on the slack channel https://nativescriptcommunity.slack.com/archives/general/p1471789794013989 join the slack channel for some really awesome community help if you decide to do it.
I just recently got introduced to MV* frameworks and have taken a chance to try out Ember.js with the TodoMVC app tutorial they have on their site.
I was considering using Ember for one of my upcoming projects (a Ruby on Rails CRUD app, similar to Twitter in some of the functionality), but I'm still a bit confused and before I take a final decision I would love it if somebody could clear the following concerns:
Is it a good idea to use such an advanced framework as Ember for a medium-sized multi-page CRUD app? Will it improve development time and maintenance compared to an interactivity layer built with jQuery's DOM manipulation and AJAX capabilities? Or is using Ember (and the like) only good when developing complex single-page apps (e.g.: Grooveshark)?
Considering the app will be developed using Rails, and assuming Ember will be used, is it going to be possible to offer a fallback with basic functionality for browsers with JavaScript disabled and/or for search engine crawlers? Will it require code duplication or other dirty tricks? Do you know of any technique that can be used to achieve it?
Will it be possible to adapt the website for mobile browsing (using only CSS) with valid results, or will the overhead imposed by running Ember on the phone make it hard for the device to render the website in a way that keeps it responsive?
We're in the middle of a pretty big Ember project right now, so here are my thoughts on your questions.
We've found Ember to be really productive for creating rich UIs for our single page app, but I don't know that it's going to be that much more helpful if you're creating an app designed for traditional multi-page (viewing pages, submitting forms, etc) layout.
I think this is the clincher - Ember is completely JS-based, so if you need to support browsers without JS, you'd basically have to write a parallel application. If this is a hard requirement for your app, I think Ember (or any MV* JS framework) would be out of the question
We've had very few performance issues on mobile - our site is fully responsive and renders on everything from Blackberries to the latest Chrome on desktop with good performance.
#Scott Rankin, has addressed most of the concerns with going with the Pure Ember approach. I'll add one quick way to make this decision.
Go with Ember/MVVM if the application is behind a login. Then you don't have to consider search engines, as the content is generally private and not supposed to be indexed.
For SEO you have to build atleast part of your content such that it is indexable. A good example of this is the Discourse application. They use Ember but also send down some generated html along with the app html slugs, so that search engines can index them. You can read about their approach here.
We have a different approach which can be seen as a fall back: We pre-render a static version of each page in the application (daily scheduled task). This static version is stored on the server as HTML file. Whenever we sniff as spider/ robot user agent, we deliver that version.
I am seeing more and more applications that seem as though they are entirely written in JavaScript see (https://chrome.google.com/webstore/) for an example and view the source. As you will see there is no source code except a call to a series of JS files. The app works as though it's still a website though and seems to use the HTML5 history API to alter the address on the fly.
Anyone know much about this sort of technology/design patterns, know some good starting points or examples of their own? I have seen things like Sproutcore and Cappuccino but they seem very different to the way in which the Chrome web store has been built.
I'm looking to use it with frameworks like ASP.NET MVC 3 and CakePHP.
Alot of Googles projects are developed with Google Web Toolkit. It's a framework for building Javascript apps in Java.
http://code.google.com/webtoolkit/
I have developed a fairly sophisticated web application using mootools over the past year, I have grown very fond of how things are done int he framework, and coming for other class based OOP languages, I feel more at home with it.
I used mootools because I knew it, but I have had to create all of my own classes for UI elements and controllers to keep track of data and do things such as auto save.
The application is very similar to google docs specifically for code, and works quite well now. But I am considering for a future rewrite that I want to start over because I have learned so much in the process, I could do it much better.
I was wondering what framework you would recommend for something like this. I have looked at cappuccino, and something like this that has UI elements already coded is very enticing, but if im going to learn a new frame work maybe it should be something like DOJO where I can use it for general web development as well.
I doubt it matters, but I use php as the DB gateway to deliver JSON objects.
Since you are an advanced javascript user SproutCore or ExtJs 4 are more apt for your evolution apart from the already mentioned Dojo.
I'm looking to create a cross platform Mobile App and have been looking into Developing using PhoneGap. I'm an amateur programmer and most of my knowledge is in ASP.Net and C#.
Will only being able to use HTML, CSS and Javascript with PhoneGap limit me to specific functionality of my App? and would migrating to HTML5 help in adding more functionality to an App?
I'm looking to be able to Populate Drop-Downs from a Database, Add/Edit/Delete Items from a Database, Create Reports Ect...
Your only real limitation as far as data access goes is that you're limited to an SQLite database, which to be honest isn't much of a limitation since it performs great for single-user access.
The short of it is that you have access to a database from within your app, so you can do whatever you need to. The tools are HTML & JS as opposed to C# with some graphics layer, so doing things like creating graphs is quite different, but it's all possible.
Also note that depending on what your app is doing, PhoneGap is one of several solutions. If you want a "native" look/feel, consider TitaniumUI -- it takes common code (still JS) and pushes it through some translation layers to create native UI components.