We are proud to present a little success story around amber. We did a mobile application for finding and renting electrical powered bikes and cars. It is german only only for the use in one german city called Wolfsburg. But nevertheless it is an amber app and it is available in itunes store [1] and google play store [2]. There is a web site as well [3] that is also done with amber.
The technical description: The project is done using a combination of - cordova [4] providing the native shell (ios, android) for the web project - ionic [5] providing the web framework which is optimized for mobile use. Ionic uses angularjs - amber providing the controllers and services for angularjs This project has been a great experience how web based things can be done using amber. Most of the UI logic, the business logic, business model and backend interface are done in amber. The code of the model and the backend interface is shared between the native app and the web site. Besides the git struggles (I've wrote a mail about that) the process workflow from checking out, adding components, using amber serve to develop, emulate the app in ionic up to the jenkins integration that builds, package and signs the application turned out to be quite good. Actually it does make sense to develop mobile web applications which wasn't the case two years ago. Norbert
-- You received this message because you are subscribed to the Google Groups "amber-lang" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. For more options, visit https://groups.google.com/d/optout. |
Norbert Hartl wrote: > We are proud to present a little success story around amber. We did a > mobile application for finding and renting electrical powered bikes and > cars. It is german only only for the use in one german city called > Wolfsburg. But nevertheless it is an amber app and it is available in > itunes store [1] and google play store [2]. There is a web site as well > [3] that is also done with amber. Great! Much more great in that this is the mobile app. I was a bit skeptical whether Amber can be used for that. > > The technical description: > > The project is done using a combination of > > - cordova [4] providing the native shell (ios, android) for the web project > - ionic [5] providing the web framework which is optimized for mobile > use. Ionic uses angularjs I tried to make Angular and Amber work together in the past, but after some trying I felt like it would be too hard. The scope notion of Angular that uses native JS prototype inhertiance and the opinionated DI seems like obstacle too big for it to be feasible. Can you let us know how you were able to actually overcome those? > - amber providing the controllers and services for angularjs > > This project has been a great experience how web based things can be > done using amber. Most of the UI logic, the business logic, business > model and backend interface are done in amber. The code of the model and > the backend interface is shared between the native app and the web site. > Besides the git struggles (I've wrote a mail about that) the process > workflow from checking out, adding components, using amber serve to > develop, emulate the app in ionic up to the jenkins integration that > builds, package and signs the application turned out to be quite good. > > Actually it does make sense to develop mobile web applications which > wasn't the case two years ago. > > Norbert > > [1] https://itunes.apple.com/de/app/id997752041 > [2] https://play.google.com/store/apps/details?id=de.innoz.emcube&hl=de > <https://play.google.com/store/apps/details?id=de.innoz.emcube&hl=de> > [3] https://www.emobilitycube.de/ > [4] https://cordova.apache.org/ > [5] http://ionicframework.com/ -- You received this message because you are subscribed to the Google Groups "amber-lang" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. For more options, visit https://groups.google.com/d/optout. |
I had the opposite opinion. I always thought it is a good idea to use it for mobile apps but I had doubts about web client because of the size of the the.js. In mobile apps this problem isn't present because you deliver the js file with the native app. But nowadays the size of amber is really not big compared to other web stuff. Speed wise it is completely ok to use it. Angularjs was the big problem here. I didn't even try :) My approach was to make it work so we don't have to do much javascript. So in angularjs we left the templates/views untouched. The html markup is pure plain angularjs. Each controller is a small adapter that on the one hand bridges invocations to amber and on the other hand fiddled with the setup of $scope data structures so the $watchers work. We didn't try to do a full integration of amber in angularjs. Just let angularjs do what it can do best, then have a tiny interface to amber and let amber to what it can do best. The only things we did is something like $scope.rentalObjectsController = require('amber/helpers').globals.RentalObjectsController._withScope_( $scope ); Basically there was just one big problem and that is angularjs itself. We've learned that mobile browser are dead slow. If you use things like ng-repeat in angular with a few variables to show you end up really quick with a huge amount of $watchers that slow everything down. Avoiding ng-hide, ng-show and such constructs and using one-time bindings solved this and the app is pretty fast now. The backend interface with amber we designed completely asynchronous using jquery Deferreds. Angularjs can deal with Promises so you are able to bind a deferred to a variable and angular does the rest when the promise is resolved. You just need to know that angularjs is using Q promises and things do not always work with jquery deferreds. But you can convert them by doing Q(jqueryDeferred). If you like to know things just ask. There is great chance we learn something we should've already know :) Norbert
-- You received this message because you are subscribed to the Google Groups "amber-lang" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. For more options, visit https://groups.google.com/d/optout. |
In reply to this post by NorbertHartl
Hi Norbert,
-- On Fri, May 29, 2015 at 1:30 PM, Norbert Hartl <[hidden email]> wrote:
this is a great announcement. Really cool to see that Amber is and can be used for such a product. Do you plan to write a blogpost or something about your development process and your experiences up to finishing the product? @AmberDevs: We should probably add a section/page to the Amber homepage where we can select stories like this. Thanks, Manfred You received this message because you are subscribed to the Google Groups "amber-lang" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. For more options, visit https://groups.google.com/d/optout. |
Free forum by Nabble | Edit this page |