Tuesday, June 25, 2013

Custom Packages

We all want some form of customization in our web projects and, in many cases, customization is crucial to the success of an application. Today we're announcing F2 version 1.2.1 will not only provide developers the ability to create custom packages of the F2.js SDK but also include four pre-compiled copies of F2.

In providing AMD support for v1.1, we bundled jQuery and Bootstrap (modal) javascript into F2's closure. This move afforded Container Developers the ability of deploying F2 in any environment without worry about competing frameworks (i.e., jQuery vs Prototype JS). Additionally, this update kept F2's internal version of jQuery from leaking out to the window and conflicting with a different version of jQuery on the container. The biggest benefit was that F2 became instantly portable and (external) dependency-free. Developers simply had to include F2.js in a script tag and call F2.init().

Over the past couple of months, we've heard these features weren't always needed when building an F2-enabled web application. For example, if a container is already using a relatively new version of jQuery, F2 certainly didn't to include its own copy as well. If a Container Developer didn't need secure or sandboxed apps or wasn't using F2.UI, both the easyXDM and Bootstrap modal libraries could be excluded, too.

In F2 version 1.2, an all-new toolkit was introduced for developers, and one of the additions was the use of Grunt to build the framework. Grunt is a Node.js-based task runner for automating development processes such as combining, minifying, testing, js linting or copying files. Since Grunt makes it simple, adding 4 new packages was as easy as defining which files to concatenate and compress. Developers can clone the F2 repo and now define their own packages, too. We'll save all the details for the documentation updates coming in 1.2.1. In the meantime, a preview of just one of the four packages is the most basic version of F2 developers can get their hands on. F2.basic.js is a tiny 7.4kb (minified and gzipped) and offers a 27kb reduction in file size while maintaining 90% of the API coverage.

Keep an eye on the pull request tracking comments and commits for 1.2.1 and let us know if you have any feedback.

Thursday, June 13, 2013

Upgrading and backward compatibility

We've added a new page on the wiki tracking deprecated features in F2. The timing is important because starting with version 1.2, three ContainerConfig properties have been retired. As F2 features and/or F2.js APIs are deprecated, we will attempt to give reasonable advance notice via any or all of the F2 communication channels including this blog. In addition, we will strive to ensure that backward compatibility will be maintained for at least one major version of F2. For example, if Feature X is deprecated in version 1.3, we will attempt to maintain backward compatibility until the next major release (version 2.0). F2 documentation will be updated accordingly to reflect any changes, and any conversation behind deprecated features or APIs will be publicly available on GitHub.

Check out the new wiki page today.

Friday, June 7, 2013

F2 version 1.2 released

The F2 Team is happy to announce the immediate availability of version 1.2. This constitutes a major release—221 commits!—and includes numerous feature enhancements, roadmap items, a simpler toolkit for contributing developers, and bug fixes.

Please review the changelog for the complete list of updates in 1.2. You can also review pull request #69 and all 21 closed Issues associated with the 1.2 milestone.

Any questions, concerns, or bug reports, submit an Issue on GitHub. Version 1.2 is available for download (zip) from GitHub.