javascript Tagged Posts

Just last week I mentioned that we wanted to get push working on Windows & we're pretty thrilled to announce that it's available already... This means that we now support push on pretty much any major device with the exception of the Safari web browser.

Up until now push notification in Codename One only worked for Android & iOS devices. This is about to change this weekend when the JavaScript port should (almost) seamlessly start working with push!This is pretty cool as push to the web is a pain with every browser taking a somewhat different route but with Codename One this will "mostly" work.

I wrote on the Friday post about a few cool pull requests from Diamond but I didn't provide a usage example for that API. Probably the best usage example is gmail style undo. If you are not a gmail user then the gmail app essentially never prompts for confirmation!

Just last week I mentioned the effort we were taking to bring the z-ordered peer components into other platforms and I'm pretty happy to report that tomorrows update should include support for iOS & the JavaScript ports for z-ordering.

The Phoenix UI kit by Adrian Chiran is one of the best looking and most challenging template UI's I had to adapt in recent history. The breadth of the design is pretty challenging but it also has some elements that are really hard to adapt across platforms in a portable way. In fact, some elements only work on devices and don't even work properly for the JavaScript port e.g. the floating action button gradient color and the round look of the walkthru UI.

In the previous template post I introduced a material design inspired theme. This time the theme I chose is simpler "cleaner" but not necessarily easier to integrate. I've had quite a few difficulties wrestling with Photoshop oddities (bugs?) that made this template painful, hopefully I've narrowed down the process enough so this should become easier.

Generating a template from a PSD isn't hard but it isn't a trivial task either, in this recurring segment I will try to generate good looking Codename One templates from freely available PSD files. Since this requires some effort I don't think I'll be able to keep this as a weekly segment but I'll try to post such a template once every two or three weeks. If you know of a free PSD that you'd like to see as a Codename One app point me at it in the comments and I might integrate it in a future post!

We are trying to improve the visibility of Codename One within search engines and as part of that we think we can also help you guys improve your visibility. When you submit your apps to the app gallery we provide dofollow links to your website/app store listings. We'd appreciate if you place dofollow links back to https://www.codenameone.com/ which you can place in a very hidden/unobtrusive way. This helps us increase our page rank and as a result will improve your page rank as we link back to you.

We just released the first version of the open source CN1Cordova project on github. This means you can take a common Cordova/PhoneGap app, import it into NetBeans and build a native app using our cloud build servers without any changes! Before we delve into the exact process of converting an app lets start by reviewing the exact benefits PhoneGap/Cordova developers can gain from Codename One. You can also check out the video tutorial and slides below.

Tuesday morning I held a webinar on Java mobile development using Codename One. First of all, I'd like to thank all who signed up and attended. Unfortunately there were some technical difficulties with the Webinar software that caused some major glitches. Double thanks to those who endured and stayed to the end. We've learned from this experience and we will do better in future webinars.

The JavaScript port is nearing beta stage which will start next week its already added support for most API's including SQL support and many other features. Once the JavaScript port is in beta it will become an enterprise only feature so if you haven't tried it yet you have one week to try your app.

As the JavaScript port has matured we started adding new demos specifically for the clock demo, charts & GeoViz. You can now see all of them live on the web and also try the Android or desktop versions of these demos to get a better grasp of what Codename One can do and how far has the JavaScript build advanced since our 3.0 release.

When building to the JavaScript target there are many build options and configurations. More importantly issues like cross origin need server side code that would be able to proxy such requests to make the client side code seamless...

Steve wrote a rather detailed appendix to the developer guide covering all of those options from startup splash screen configuration to servlet proxy logic. The build also generates a ready to deploy WAR file which should make setting this up on any Java servlet container a nobrainer.

We are working on a new demos section for the website that will highlight the demos for Codename One more thoroughly. Thanks to the new JavaScript port we can actually show the demos live in action but that creates a bit of a problem since people often jump to the conclusion that Codename One uses web technologies which it does not.

We are very excited to announce the alpha release of the Codename One Javascript port. This brings us one step closer to the coveted _write once run anywhere_ ideal. Starting with Codename One version 3.0, you will be able to deploy your projects as Javascript applications that run directly in the browser.

When Codename One packages applications into native apps we hide a lot of details to make the process simpler. One of the things we had an issue with is getResource/getResourceAsStream both of which are problematic since they support hierarchies and a concept of package relativity. That's a concept that is problematic in iOS, generally everything about file access within the bundle in iOS is a bit problematic to accomplish in a cross platform way because Apple tries so hard to "simplify" and ends up creating fragmentation for us.

As part of tracking a bug in iOS media playback Steve hit upon some code that recreated the OpenGL framebuffer pretty much all the time. This was there to allow device rotation to work, but was implemented incorrectly... After this fix animations and UI is much smoother on iOS, if you notice any potential issues let us know.

This website/blog has gotten really long in the tooth, we would have replaced it ages ago but since the build server is so tightly integrated in the code the effort to migrate was just too big. So recently we finally made the effort and migrated large blocks of code to be far more generic and we are now working hard on moving more than 3 years of content to the new website...

In the past we made several attempts at compiling Codename One applications to webapps, these were only partially successful. On the surface this seems relatively simple: just use something like GWT and the Canvas API to generate a web app. However, Codename One requires threads (for the EDT) and that's just not something you can really hide. GWT i...