I've been working a bit with Kapila and Andreas on a Calendar project for Codename One to be used as a cn1lib (working is a strong word I've mostly just bossed them around and didn't really do much, they did all the work). Its a pretty ambitious project since Calendar API's are so fragmented and problematic, in fact no cross platform tool I'm familiar with has anything remotely close to a working Calendar API.
If this is something important/dear to your heart feel free to pitch in and try to improve the implementation, file issues etc.
read more...
Wednesday, February 12, 2014
Monday, February 10, 2014
Wheel & Drag
In the latest update to desktop builds we made the mouse wheel scroll the UI which is something that we've meant to do for ages but just didn't get around to doing. This will also work in the simulator when the next update arrives.
This was a big challenging to implement properly since the mouse doesn't actually touch a specific component, eventually we decided to just send press/release/drag events in sequence when a mouse wheel is active.
read more...
This was a big challenging to implement properly since the mouse doesn't actually touch a specific component, eventually we decided to just send press/release/drag events in sequence when a mouse wheel is active.
read more...
Wednesday, February 5, 2014
Desktop, Vision Mobile & Misc Changes
Vision mobile just released their new developer economics study, you can check it out here.
We toggled the new pipeline mode for windows phone to be the default, its clearly the way to go forward in the long run since we just don't have any other choice. All feedback on the new pipeline found it to improve performance significantly and generally reduces some of the paint issues that we run into with Windows Phone. However, there are a couple of reports pointing out that font quality has degraded with the new pipeline. We are looking into this but came to the decision that even if this isn't solvable we will stick with the new pipeline since the old one is just not viable for moving forward.
read more...
We toggled the new pipeline mode for windows phone to be the default, its clearly the way to go forward in the long run since we just don't have any other choice. All feedback on the new pipeline found it to improve performance significantly and generally reduces some of the paint issues that we run into with Windows Phone. However, there are a couple of reports pointing out that font quality has degraded with the new pipeline. We are looking into this but came to the decision that even if this isn't solvable we will stick with the new pipeline since the old one is just not viable for moving forward.
read more...
Monday, February 3, 2014
A New Pipeline For Windows Phone
The Windows Phone port is one of our most painful ports, the platforms is so fragmented, volatile and rigid its remarkably hard to extract a common porting layer that will satisfy our requirements. We've just updated our servers with the 3rd port we did for Windows Phone, its experimental so its off by default, to activate it just use win.newPipeline=true in your build arguments.
As you may recall our first port targeted Windows Phone 7.5 and used XNA which Microsoft killed with Windows Phone 8.
Our second port was silverlight based and tried to dynamically create a scene-graph structure to match the graphics we are drawing in code, this is a very "imaginative" approach and it worked for most cases but had a lot of issues worst of which was very bad graphics performance and paint artifacts that were very hard to fix.
read more...
As you may recall our first port targeted Windows Phone 7.5 and used XNA which Microsoft killed with Windows Phone 8.
Our second port was silverlight based and tried to dynamically create a scene-graph structure to match the graphics we are drawing in code, this is a very "imaginative" approach and it worked for most cases but had a lot of issues worst of which was very bad graphics performance and paint artifacts that were very hard to fix.
read more...
Wednesday, January 29, 2014
Push Notification Tutorial
We've just uploaded a new how do I tutorial for push notification. This tutorial covers the basics and is complementary to the post we published a while back covering push.
Monday, January 27, 2014
A New Pipeline
One of our enterprise developers started complaining about the performance of our Android port, which forced us to take a closer look at our rendering pipeline on Android. It seems that Google’s hardware acceleration broke pretty much all the best practices of the Android 2.x era and what we had wasn’t taking full advantage of “project butter” the codename for Google’s new Android rendering layer.
This took a lot of effort to adapt and the effort is still ongoing but we wrote a brand new rendering layer for Android, at the moment you would need to switch it on explicitly and it will only work for Android 3.x or newer. When we will feel that its stable we will flip the default switch and make this the default for all future Android builds.
read more...
This took a lot of effort to adapt and the effort is still ongoing but we wrote a brand new rendering layer for Android, at the moment you would need to switch it on explicitly and it will only work for Android 3.x or newer. When we will feel that its stable we will flip the default switch and make this the default for all future Android builds.
read more...
Tuesday, January 21, 2014
Switching Defaults
As you may know Apple will require that all applications submitted next month would be compiled with XCode 5 and target iOS 7 primarily. We supported this for quite some time however the default was still set to the legacy support first. Today we are deploying an update which will make xcode 5.0 the default and make the theme use iOS 7 theme styling when running on an iOS 7 device.
read more...
read more...
Monday, January 20, 2014
5 Cool New Features in Codename One for NetBeans IDE
An article of mine with the above title just got published in dzone check it out and let us know what you think in the comments over there.
Wednesday, January 15, 2014
Native Interface
Native interfaces allow developers to invoke platform native methods/functions/libraries and even widgets directly from within Codename One without having to adapt your code to every platform. They are a very powerful tool when bridging between Codename One and OS specific features to access functionality that might not yet be exposed in the Codename One platform.
read more...
read more...
Monday, January 13, 2014
Build Desktop Apps & XML Improvements
The next plugin update will finally include the support for building desktop applications with Codename One and to celebrate this we added a How Do I video on this subject. Notice that this is a pro only feature so if you don't have a pro account this will fail on the build server.
The end result should be pretty similar to what you get in the simulator, I assume we will make some improvements as we move along to refine the user experience a bit further and adapt it for desktop development.
read more...
The end result should be pretty similar to what you get in the simulator, I assume we will make some improvements as we move along to refine the user experience a bit further and adapt it for desktop development.
read more...
Wednesday, January 8, 2014
Sockets & MultiLine Trees
Steve recently added an implementation of a sockets library which is pretty cool and very timely since we are just about to release our own socket library and unlike his work which supports all Codename One targets we currently only support iOS & Android.
At the moment we only support TCP sockets, we support server socket (listen/accept) on Android but not on iOS. You can check if Sockets are supported using the Socket.isSupported() and whether server sockets are supported using Socket.isServerSocketSupported().
read more...
At the moment we only support TCP sockets, we support server socket (listen/accept) on Android but not on iOS. You can check if Sockets are supported using the Socket.isSupported() and whether server sockets are supported using Socket.isServerSocketSupported().
read more...
Monday, January 6, 2014
Offline Builds
We just added a new offering to our pricing page, offline server. This option isn't for everyone since it requires quite a lot of effort to setup and in fact includes less functionality than even the pro subscription.
The main reason for this offering is the old-school regulated industries where a cloud build solution just isn't an option. In those cases you can still enjoy the benefits of our cloud architecture within the organization. However, you would need to setup at least 4 separate servers in order to get these benefits so the total cost in hours/hardware and licensing is pretty steep.
read more...
The main reason for this offering is the old-school regulated industries where a cloud build solution just isn't an option. In those cases you can still enjoy the benefits of our cloud architecture within the organization. However, you would need to setup at least 4 separate servers in order to get these benefits so the total cost in hours/hardware and licensing is pretty steep.
read more...
Wednesday, January 1, 2014
Pisces & String Picker
Steve just released a very important cn1lib that effectively provides developers with elaborate low level graphics primitives to draw pretty much everything on all platforms. The main use case for this library is for charts and graphs which up until now we had to do with the relatively limited graphics capabilities of Codename One (which are currently optimized for speed/portability).
Pisces is a rendering engine developed at Sun that was designed to be very portable, it performs all the rendering in Java and can thus do relatively advanced graphics even on J2ME devices that don't necessarily have such graphics capabilities. The downside is that it can't be fast since it effectively can't use the GPU.
read more...
Pisces is a rendering engine developed at Sun that was designed to be very portable, it performs all the rendering in Java and can thus do relatively advanced graphics even on J2ME devices that don't necessarily have such graphics capabilities. The downside is that it can't be fast since it effectively can't use the GPU.
read more...
Subscribe to:
Comments (Atom)