Not a single comment? Well, I’ll better stop developing this sh*t then
New Flow Framework examples
Some more Flow Framework examples. This time with 100% more scrollbars and scroll containers.
A few points of interest on this one: Try the text input on page two to see how layout is validated. Try and hold down the vertical scrollbar thumb on page 5. Scroll containers validate their context correctly even though the whole container is resizing.
13 Comments
First examples of Flow
Straight from the workbench, here are a few examples what the Flow Framework will enable developers to do. Nothing spectacular and very much work in progress, but I wanted to share this as early on as possible. Jump right in and check out the source on Github.
Also, check out Sofanatics, the first app that has been built with Flow. To get timely updates on the progress of the framework, follow me on Twitter.
7 Comments
-
-
Looks promising. Maybe you’ll team up with guy that creates as-ui-commons* and use some parts of it. Framework dev will be faster
-
Sure thing, I’ll look into AS3Commons. Thanks for the tip.
-
-
This is really nice, I think is pretty useful at the time to develop in iPhone, what do you think?
-
Yeah, Flow will be excellent for iPhone dev due to it’s speed!
-
-
Is there a mobile example of using Flow ?
Which are the steps to setup a mobile project with Flow, and publish to .apk ?
Thanks,
-
Haven’t made an example, but setting one up should be pretty straight forward. Just create a mobile project in Flex and copy the source code from the example over and add the Flow src to your source paths.
-
Flow Framework status
Flow (the fast and lightweight layout-, effects-, graphics-, data-binding-framework) is now up on GitHub. There’s no documentation, no examples, even no readme file, so it’s probably only interesting if you… hmm… no, there probably is no reason why you would want to dig through the source. Just wanted to let you know, though. Stay tuned.
2 Comments
-
Sounds really interesting. Hope there will be some examples soon..
What exactly didn’t you like about ReFlex?
Creating a lite Flex framework from scratch
A while ago, we at Sofanatics started to put together our new real-time sports event client for the Flash Player. We knew from the beginning that we didn’t want to go with Flex. While it’s a great framework for building RIA’s, it’s too monolithic and too slow for our needs, as we knew that we would need every CPU cycle to create a visually stunning application with lots of data flying around.
However, I still wanted to use many of the features that make developing with Flex so much faster than building out an app in pure ActionScript. In no particular order, these features are:
- MXML. Declarative programming is one big time-saver.
- Contraint-based layout. Our interface scales with the browser. Without a good layout-framework, putting the interface together would require a lot of extra effort.
- Data-binding. Once you hook up your data via data-binding, you swear never to go back again.
- States. Coupled with declarative layout, states provide a fast way of putting together the visual representation layer of the app.
- Transitions & Effects. I’m a sucker for smooth transitions in UI’s
- Declarative graphics. Declaring shapes, fills and borders in MXML is just cool.
In addition to these Flex-based features we had the following requirements
- Be fast. That’s a no-brainer.
- Be small. The Flex framework takes around 300kb without any components. I’ll target 30kb.
- Mix&match. You should be able to use any assets in your display list, not only instances derived from UIComponent, as is the case with Flex.
Searching the Internets, I did not find that many frameworks that supported these requirements. The best that I found was ReFlex, but I had some issues with it. While it provides most of the features I was looking for, I still found it to be a bit too slow. Most of the core code relies on anonymous objects, arrays and interfaces instead of using strongly typed parameters and vectors. I did not measure performance, but I’m sure its performance is not optimal. And although developing against interfaces makes your code more manageable, I opted for making my core code as fast as possible, even if it meant making it harder to read or modify (though creating components based on the framework should of course be easy and have a clean API).
So I decided to write my own. It currently powers all of the Sofanatics client’s UI, so check it out to see some of it’s features. Otherwise it’s still very much in the making. Once done, I’ll release it under the MIT license and put it up on Github. But even in its infancy, I do like it very much. It gives you a tenfold increase in productivity against building a UI via ActionScript, but gives the speed of a pure AS implementation.
Now all I need a great name for this cool little framework. Got any ideas?
14 Comments
-
Looking forward to see what u have implemented – tried something in the past – but did not get very far – have a GIT URL ?
-
FlexLite ? Looking forward to src/swc !
-
Called it µframework or µinterface. We feel it fit quite nicely to your project.
-
James, cool idea. Thanks. Altough that would make the package name a bit hard to write
-
-
Great point Tuomas. I think its the need of time, Flex empowers rapid development, but at the same time it’s too slow and heavy.
Also I think the post title itself can be a good name for this framework. “Flexlite”.
All the Best for further development, looking forward for it’s release
-
Tuomas, I guess you’ve already check out the project we did almost 2 years ago – FLit:
http://code.google.com/p/flit/
A brief introduction to FLit: http://npacemo.com/wordpress/2009/06/30/flit-a-light-weight-flex-for-flash-apps/
It does almost everything you target in your framework wish list, except for the declarative graphics. I see the value in having the ability to use graphic primitives in MXML – especially when you want to test a component without having to create its skin in Creative Suite.
Check it out. You might pick up some cool ideas. The overall size of the framework is 27K from Flex + approx. 40K from us.
Good luck and keep me updated on your progress,
Vladimir-
Hey Vladimir. Yeah, I’ve had a look at FLit years back. When I started developing “Flow” (that’s the official name now), I didn’t recall FLit. If I had, I probably wouldn’t have gone through all the trouble to create my own framework, cause FLit looks pretty good
-
-
-
[...] Creating a lite Flex framework from scratch [...]
-
[...] from the workbench, here are a few examples what the Flow Framework will enable developers to do. Nothing spectacular and very much work in progress, but I wanted to [...]
-
Brilliant work in regards to Flow framework. Just curious, how long would it take to develop something like this?
Thanks again for the effort.
-
It’s great effort by you….
Follow me on Twitter!
Other services
Lifestream
-
Listened to Keep It Coming - The Brand New Heavies.
-
Listened to 36 songs.
-
Listened to 9 songs.
-
Looking forward to Naughty Dog's new PS3 title: http://t.co/cWJ3qiua
-
Listened to 19 songs.
-
The Oatmeal on Tesla: http://t.co/ltMQXomZ
-
Fascinating to follow the course of WWII in real-time, 62 years later: @RealTimeWWII
-
Makes sense to ship new MBP's without a CD-drive. When was the last time you've used one?
-
Sorry, must admit that I haven't played Diablo 1, 2 or 3. Should I?
-
RT @CreativeChris1: Details on our support for the 360 browser (NOT XBOX), bringing #Unity3d games to the Chinese online community - ht ...
-
Listened to 4 songs.
-
Once could say that Groupon's stock price rebounded after earnings.
-
RT @isaiah: Yahoo got their CEO from eBay? And he wasn't quite what he said he was in his description? No irony there. Nope. None.
-
Listened to 12 songs.
-
Listened to 25 songs.
-
Listened to 2 songs.
-
Listened to 19 songs.
-
Conan O'Brien broadcasting a hangout with selected fans on G+, like, right now: https://t.co/L7dkDMvV
-
Hmm, maybe I prematurely wrote of DropBox in favor of Google Drive. GD seems to be having a lot of problems syncing. DB has never failed.
-
RT @timoreilly: All of earth's water compared with the size of the earth http://t.co/EwJCA0RT Wow. Doesn't that put things in perspectiv ...
-
RT @CNET: Report: Apple's iPad accounts for 94.64% of tablet Web traffic http://t.co/mCnIqZu3
-
Listened to 33 songs.
-
RT @EvaZebra: Ladies and gentlemen, @jesselupini and I just discovered you can open beer with an iPad adapter. You're welcome. http://t. ...
-
Listened to Love on the Rocks - Sara Bareilles.
-
http://t.co/ybiK84hI is simply awesome!
-
It's really scary how Facebook chat and messages leak over to Skype these days.
-
Listened to 4 songs.
-
High(er) level languages keep on coming to ease iOS development. C# and JavaScript are joined by Ruby: http://t.co/RvbmBr3t
-
Linkedin relies on node to deliver mobile app http://t.co/hXxxSiwv
-
This will pwn PS3 hard: http://t.co/YVegvLIX
-
RT @DocOnDev: Show me your rockstar programmer who is the "go to" for all the complex code and I'll show you your problem.
-
Listened to 95 songs.
-
Wow: In the U.S., cars are burning nearly a billion gallons of gasoline more a year than if passengers weighed what they did in 1960.
-
Really nice Chrome experiment using 3D, maps and you're good old Labyrinth tilt-controls: http://t.co/iJ5Y8Tf6
-
MVC doen't cut it anymore: http://t.co/6dkljy17
-
Listened to 27 songs.
-
Hello Google Drive, goodbye Dropbox.
-
Reuters should maybe think about relabeling that heading on their web-site... http://t.co/0YySBYNJ
-
RT @LOLGOP: Give a Republican a fish and he'll think he learned how to fish. Teach him to fish and he'll call you socialist.
-
Didn't know that HavenCo (the rebel internet host on Sealand) was "nationalized" by Sealand in 2003;) http://t.co/Y2DYNJe4
-
Listened to 26 songs.
-
RT @jorilallo: Google SEO ftw! http://t.co/kylDi6GR
-
RT @tlaturi: The first ever sponsored virtual fan merchandise is out. Go check out the Sonera Big Hand: http://t.co/FRUVP7OG #Sofanatics
-
Listened to 46 songs.
-
Listened to 46 songs.
-
VMware or Parrallels?
-
RT @arsatiki: A world that places any value on the idea of universal human rights should no longer overlook North Korea’s enormities: ht ...
-
RT @idiot: App idea: "Instagrain" — allowing farmers to take faux-vintage photos of their crops.
-
Listened to 76 songs.
-
The total processing power of all PC's in the world is one human brain. If Moore's law stays valid, 64 years from now PC's surpass humans.
-
Follower count at 666 for a while now. Can't be good.
-
Skype for Windows Phone (currently) requires 512 megs of memory. What has become of the world? http://t.co/LkocbKYQ
-
I think underwhelmed is a great understatement when you look at Flash Pro CS6's "new" features.
-
If you're a ad- or digital agency, Adobe's 49$ monthly CS6 subscription is a no-brainer: http://t.co/SYCn9dAL
-
Listened to 50 songs.
-
Steam on Mac is a piece of shit
-
Listened to 16 songs.
-
It's friday allright: http://t.co/iJaE5IIa
-
RT @idiot: And if you want to take the "semicolon" game to the next level, shout "tabs vs spaces".
-
Wow, Mobile devices could beat console GPU performance in 2014 (if there's no Xbox 720, PS4, …): http://t.co/c5hzImjg
-
According to my own studies, 95% of all links contained in all Chinese websites are target="_blank". #onlyinchina
-
Alcohol, the world's greatest innovator. And also the reason we had the <blink>-tag: http://t.co/USZy9pVy
-
Hahaa, U.S. designer designed North Korea's official website. Well, sort of. They bought it from http://t.co/RyvQyDAI. http://t.co/CVKTcmxx
-
Listened to 20 songs.
-
RT @pentagramdesign: We are saddened to learn of the death of our friend Hillman Curtis, a brilliant filmmaker & voice for design http:/ ...
-
RT @karrio: For its architecture, design, cultural initiatives & quality of life, Helsinki's the most liveable city in the world: http: ...
-
Listened to 2 songs.
-
Listened to 3 songs.
-
Listened to 51 songs.
-
The earth is really rumbling recently… “@Reuters: Magnitude 7.0 earthquake strikes near Papua New Guinea - USGS”
-
Groupon Acquires Social Recommendation App Ditto.me http://t.co/UuDn5upr via @techcrunch
-
RT @jyri: Happy to announce our team at @dittoapp joined @andrewmason's team at @Groupon to build something new: http://t.co/QAg5n2eb
-
Uh-oh, this'll give DropBox a run for it's money (and valuation): http://t.co/qFptWn1j
-
RT @thillerson: So, tech-savvy French speakers/knowers: I just accidentally typed 'git merde'. I wonder what that should do...
-
Fruugo, the finnish (and smaller version) of http://t.co/6Ema6Lbt: http://t.co/i5Vtl6G9
-
And not saying that only because it closely resembles Nano, a games and games portal platform I'm currently building ;)
-
Have a look at Firebase: http://t.co/ELV55Az6. We've been stuck too long on stateless, request-based backends. Fresh breeze of air.
-
-
Listened to 33 songs.
-
RT @mesh: My next tshirt : "Dont be a Javascript Hipster - use semicolons;"
-
RT @juuuso: Why I think Nokia crashed. Hint: Don't blame Elop. http://t.co/wVAOGrZZ cc: @teroterotero @tomiahonen
-
RT @juhah: How much is a tweet worth? About 1/10,000 as much as a Yelp review http://t.co/lZZ6IYuj via @zite
-
Listened to 22 songs.
-
There's like 50% whitespace on redesigned Google+. When someone said "I like clean, subtle design", this is not what he meant.
-
Huh, that was a quick major release cycle! “@webide: WebStorm & PhpStorm 4.0 RC (117.190) http://t.co/MGuklZlF bug and performance fixes”
-
RT @_dte: The average web developer spends 4.7 years of their lives waiting for DNS zones to propagate.
-
Got access to ICBC VIP internet banking today. It's the same freaking site, except that all red color has been replaced with gold-yellow.
-
RT @Oatmeal: LOL North Korea couldn't get it up
-
Right. Scientist believe they found life on Mars. 36 years ago. http://t.co/iH60xMuO
-
Cool contributions to WebKit from Adobe during a 3-day hackathon: http://t.co/gABR1aRZ
-
Listened to 33 songs.
-
Published Why English is important for any programmer.
-
Haha, quit @unity3D shadow-map baking when battery said it has 9 minutes left. Now, 10 minutes later, I've got 45 minutes of battery left.
-
Nice listening to the finnish Shanghai consulate employee bitching about our secretary of labour. I'm sure they think I'm foreign...
-
-
Listened to My Manic And I - Laura Marling.
-
RT @fakeselop: Facebook could have paid a lot less for Ovi Share.
-
Listened to 14 songs.
-
RT @kirtan: Instagram: $1 billion The New York Times: $967 million
-
RT @idiot: MySQL sounds so selfish. Why don't they call it OurSQL?
-
RT @thurrott: Classic FAIL: Nokia launches Lumia 900 today in US ... On a day when NO retail stores are open (Easter). I give up. You ar ...
-
RT @jorilallo: Did everybody see what just happened? The pendulum has swung. http://t.co/Dbx3rB12
-
Listened to 16 songs.
-
RT @jefftapper: Feeling really old as i realize the baby from the cover of nirvana's "nevermind" album is old enough to drink http://t.c ...
-
RT @DerSchmale: Mercurial:"Because we know that merging is your favourite part of version control, we made it so you're practically doin ...
-
Listened to 26 songs.
-
-
Iceman... “@KimiRaikkonen9: It’s just another race track - I don’t have particular favourites or anything like that..”
-
So tired about the speed of the Chinese intranet...
-
Listened to 20 songs.
-
650k requests per sec to S3. Impressive. http://t.co/4af2k8Dx
-
Not sure whether to laugh or cry when getting this message: This web site only supports Internet Explorer 6.0 and Internet Explorer 7.0.
-
Listened to 9 songs.
-
RT @googledownunder: What if ... say hello to Project Glass http://t.co/Z0olJmwb
-
The best way to make your site pop http://t.co/QhKN5H5X via @idiot
-
Found proof that there actually is some nature in Shanghai http://t.co/gcr9kHPQ
-
Listened to Keep Marchin' - Raphael Saadiq.
-
RT @nelderini: Raising the bar - Denmark Passes Legislation: 100% Renewable Energy by 2050 http://t.co/M8jQRhgT h/t @solarfeeds
-
Loving Google Maps 8-bit. They even turn street view into 8-bit versions.
-
Listened to 13 songs.
-
RT @nodejs: Version 0.7.7 released http://t.co/atYAv65D 😁
-
Mercedes-Benz's web-site is throwing a exception right now. What's surprising is that it's stack-trace is about 180 levels deep.
-
On a sidenote, a big FU to @louhinetworks for changing the IP of me server and mentioning it in a generic "maintenance downtime" email
-
Pwned. My blog has been down for a month and my wife was the first one to tell me…
-
Oh the irony... “@juhah: Google only makes $183M a year from Android, while earning $2.3B on the iPhone http://t.co/xKN0XeAC via @zite”
-
RT @juhah: The shocking toll of hardware and software fragmentation on Android development http://t.co/F8ojngVA via @zite
-
Listened to 7 songs.
-
RT @__ted__: HTML5 Scorecard: The New iPad and iOS 5.1 — A Mixed Bag http://t.co/C0KJlpCh
-
Ok, so it probably was Tweetdeck that compromised my Twitter account a few days ago: http://t.co/jqPJm76g
-
-
RT @sofanatics: Our test with Sonera was amazing. Leijonakatsomo opens for SM-Liiga tonight! Vote for the match on their FB page: https: ...
-
Sorry 'about the working at home spam. Seems that one of my apps turned evil
-
Discover how single moms and teenagers are making real money from home. Working a few hours from home http://t.co/f9kV2B6x
-
Discover how I make money working from home! http://t.co/paX3ozIi
-
How would you like to make $500 every day, guaranteed? Achieve online success today! Read it now at http://t.co/hypd4LgB
-
Listened to 5 songs.
-
RT @polyGeek: Note: when you dive to the bottom of the Mariana Trench in a "prototype" submarine it is no longer a prototype.
-
Listened to 4 songs.
-
RT @davidhelgason: ShadowGun: Optimizing for Mobile Sample Level http://t.co/q2vGYDTS
-
From now on I'm gonna call the internet in China an intranet, cause that'a what you call a controlled network that's within a firewall.
-
Retina Mac's… Oh yeah… http://t.co/U4AKJTyR
-
Hell YEAH! Speech synthesis in JavaScript and 1kb: http://t.co/KFmKkK8C (Chrome only)
-
A study of data from website age verification prompts reveal that 90% of the world's inhabitants have been born January 1st.
-
Listened to 20 songs.
-
RT @tomdale: innerHTML is now 2.4x faster in WebKit! Take that, DOM purists, I'll be writing strings forever! http://t.co/zWrmDjzC
-
It's not a complicated networking engine if it doesn't get race conditions. Sigh.
-
Adobe has no momentum. Don't think these PS CS6 features really justify a major release: http://t.co/1Iuv1QdL
-
RT @edbott: Hello, my name is T Cook, CEO of Apple Corp. I beseech your assistance in helping transfer $100 billion in cash left by the ...
-
Oh noes, who the hell needs another AppStore, especially from Mozilla. Couldn't you guys just work together?
-
You're living all right when you need a vacation from your weekend
-
Is it a change in policy or why has China lately been a good global citizen, ciritcizing NK and even apologizing to it's own citizen.
-
Listened to 23 songs.
-
RT @DavidSacks: I'm pleased to announce a $25,000 signing bonus for any Yahoo employee who joins Yammer in the next 60 days. http://t.co ...
-
Woha, with Firefox 11's 3D inspector you won't be debugging efficiently. You'll be rotating that 3D preview around all day long...
-
RT @H_Kovalainen: Here's a pic of my new "Angry Birds" themed crash helmet, more pics on my website too http://t.co/IZRidjIe! http://t.c ...
-
RT @velmu: Shit... I was dwarfed last night by the wife. Told I created a Pinterest account and she was like: Yeah, I've been there sinc ...
-
So long WebM. Was nice not knowing you.
-
Listened to 6 songs.
-
RT @agpublic: Happiness is discovering there's a nematode gene called "PRKL-1."
-
How to make any photo look like it's been taken in China: decrease saturation by 70%
-
Man, double fine indeed got 3 million funding on Kickstarter: http://t.co/wrefxhfB
-
RT @alexstubb: Our start-ups pitching to FirstMark Capital. These guys are fantastic. Exciting companies. Professional pitches. #Finnvas ...
-
RT @igdafinland: #igdafi Finnish gaming cluster is on the threshold of hyper-growth http://t.co/QnLvxVBG
-
RT @bclinkinbeard: Wow, @JetBrains is so damn impressive. Report a bug on Friday and it's fixed by Monday.
-
RT @jussil: Want proof that F2P is changing core games? Contrast NPD http://t.co/qcrldEYK to Team Fortress 2 going F2P http://t.co/d5qjld4p
-
RT @markonen: I’ve only heard magazine and newspaper publishers talk about “tablets”. Everyone else calls them iPads.
-
Pretty awesome dataset from Stephen Wolfram: http://t.co/FKZBYgHX
-
Listened to 18 songs.
-
RT @renaun: Epic Games Unreal Engine in the Browser, Try For Yourself http://t.co/iblzV8r3 #FlashPlayer
-
Could I get a 27'' monitor with iPad's resolution for 499$, please?
-
Probably not going to appear on the iPad HD, but Senseg has a really cool tech: http://t.co/XhY42cRG
-
Listened to 10 songs.
-
RT @pixelplacement: #Unity3D needed a way to create groups with ease in the hierarchy. I just solved that dilemma: http://t.co/QCWWFCVR
-
Listened to 10 songs.
-
Listened to 16 songs.
-
RT @jorilallo: Readability's iPad app looks freaking gorgeous... http://t.co/bMNtfabT
-
Listened to 18 songs.
-
RT @flowdock: JIRA 5 Launches, Improved Flowdock Notifications http://t.co/DT6U4r6t







This is amazing… WELL DONE!!!!!!!!!!!!
very very nice, beautifull style, it is a promising framework. I’ll try to play with it
Thanks for the kind comments.
There is a chance that you will make it as3-signals based? It would be a neat feature
There’s not a lot of eventing going around to start with, but that might change once I finalize the API. I’ll look into signals and whether they would be a good fit. For the Binding part I still have to rely on Events, as these are compiled in by MXMLC.
You can use data binding with as3-signals:
http://www.ericfeminella.com/blog/2010/03/22/as3-signals-simulated-data-binding/
Signals are a little bit faster that native events, have lower memory footprint, adds useful helper methods, allows to create interfaces for event oriented components and works well with elements that only support native events like mouse clicks. Main drawback is that it isn’t native so it adds a dependency and few KB into app/framework but… its worth it
I think that there is currently no ui framework that implements as3 signals so it might be a strong point of Flow if this will be incorporated.
Anyway, I hope that you will not stop working on this project since flash world need a good, skinable, lightweight flex-like alternative. Good luck
Sure thing that you can use Binding with AS3-Signals, but it’s still requires some labour, as it’s not as easy as just to say [Bindable] on a property and then use curly braces to bind to that property.
Anyways, I’ll look if and how Flow could benefit from AS3 Signals. Stay tuned.
Good !!!
Take a look at the Flight Framework which as a package for AS3 data binding without mxml.
Could radically enhance your framework.
Don’t mind repeating this in twitter and here too.
I fetched “Flow” from github, compilation error with Flow Example, seems “avmplus” is not commited in GIT?
Flow only compiles when you target the Flex Framework 4.5. FF 4.5.1 will give you that error. Will fix
I have deployed the test you have above on iPhone 4S, using a Flex Mobile project.
The problem I’ve got, is that all content is smaller than normal to about 30-40%
All UI shrinks down for some reason when deployed as an app.
Any ideas ?
Thanks,
Interesting. Care to open a ticket on Github and share your project so that I could debug?