Adobe Flex gaining ground in India; Java UI watch out!

by Shashank Tiwari

In the last few years India has emerged from being a small outsourcing destination to a large computing powerhouse (especially as far as programming resources and their critical skill sets go). Its one place that boasts of millions (not just thousands anymore!) of Java programmers. One reason for this growth has been the love for Java among enterprise customers up here in the United States, who outsource work down to India, and another has been the continued support from Sun and its affiliates (many of who train around its well recognized certification programs) in providing ample training and mentoring infrastructure in India. Yet, one more important reason has been the use of Java (over its traditional counterparts -- i.e. C & C++) as the language of choice for instructional purposes in teaching programming languages at educational institutions. Finally last but not least, Java is easy to learn and there is too much out there on the web to help you get started :)

In the last couple of years Java has seen strong competition from two directions. The growth of Rich Internet Applications (Ajax and Flash platform based) got many Java programmers to use non-Java UI technologies with there Java servers and the advantages of dynamic languages (like Python and Ruby) lured the Java programmers away from the language towards efficiency and "more-with-less". This phenomenon is global but local impact (in the United States) has so far been the greatest. However, it got me curious to see how these changes were impacting the millions in India. I started out by finding out the "State of Flash based RIA Adoption" by engaging in a conversation with an active developer and community leader to get a feel of what's its like out there in the field. I plan to cover Ajax and the dynamic languages related discussion in subsequent posts.

17 Comments

sidewinder
2008-03-14 18:18:17
Flex sucks big time!, Steve jobs is right, I will not install that bloated, bad designed flash plugin, it is like a trojan horse or virus on the PC. Always I hated flash.
Venkateswara VP
2008-03-14 20:34:26
Flex is new in India. I think the only way it can lead Java is by adding some useful light weight development software. To develop in a desktop with fully loaded hardware it takes a long time to load. I am going impatient and most of my Flex development takes a longer time.


We hope to see a nice and lighter version like the jaascript to come and help us :-)

Prakaz
2008-03-14 22:55:37
@sidewinder: Are you sure you do not have the Flash plugin? Wow in the present world that's equivalent to not having an email account hehe ;-)


@Venkateswara VP: I hope you are referring to Flex builder not Actionscript? Well you could always use the Flex SDK(available for free) and use your favorite lightweight text editor(notepad?) to develop applications. There's no need to wait :-)

Mrinal Wadhwa
2008-03-15 15:17:55
Hey Shashank,


Excellent interview .. Abdul has described the state of the Flex community in India very well.


Being equally passionate about both Java and Flex, I have to express some concern over the title of your post. In my opinion Java has no reason to watch out for Flex ... both of them play really well together.


Lets look at what Java is used for today, home many web applications use a Java front end ?? very few .. Java is used on the server side of web apps, most front ends are rendered in HTML/Javascript .. Flex/Flash is a good option for building highly interactive front ends for the web, your sever side remains the same Java based backend that you always had, and there are some excellent ways to communicate between your flex front end your java back end.


This will change slightly when Java's new web development model kicks in later this year and the new plugins start gaining adoption, but till then Flex is the best option to build rich UIs for the web and java is not used for that today.


As for desktop applications, even though AIR allows you to build desktop applications in Flex, AIR is no way a competitor of Java, at least not in version 1, there are so many things an AIR app cannot do .. create threads, create new processes, interact with other processes, interact with system hardware, make system calls etc. etc. .... AIR as of now is just a way for web developers to give their power users some extra abilities, it can also be used to build some simple applications that don't need the things I mentioned above .... but Java still rules on the desktop.


If your argument is that Flex and Java are competing for a talent pool ... that may be true a little bit but in general people who build UIs and people who build servers tend to different so the problem here is not very big.


So in my opinion Flex and Java are best buds :) ... throw in BlazeDS and you have one hell of a team.



@sidewinder: all I can say is that your opinion is naive at best, Flex/Flash enable such extraordinary applications like http://buzzoword.com ... the whole world is moving on to realize the potential of the flash platform, maybe you should too.



@Venkateswara VP: I think you are using FlexBuilder 2 .. it was kinda slow although there are ways to improve that .. but FlexBuilder 3 has seen a major improvement, try it out.. you could always use your favorite text editor to build Flex and now with the SDK (including the compiler) going opensource, we will start to see many other IDEs for Flex, I know IntelliJ is already working on one.


Shashank Tiwari
2008-03-15 20:16:21
@all: Lets not kid ourselves and assume that the Flash player is the be all and end all VM for web applications. Also, flex application development has its own set of limitations and problems like almost any other technology involved in any serious business. However, there are many advantages of Flex (and the Flash platform) over its alternatives and its evolving in a promising manner. Its a great choice in today's time and age, when end user computing resources are becoming abundant and need for greater interactivity (beyond read-only texts) is becoming increasingly important.
Shashank Tiwari
2008-03-15 21:18:43
@Mrinal: I am glad you thought the interview with Abdul was useful.
I can understand your concern about the title and in response I have modified it a bit to say "Java UI watch out" instead of "Java watch out". However, I would like you to consider the title in light of the larger context of web application UIs today. The web UIs are still dominated by 3 major technologies -- Java, ASP(and its cousins) and PHP. I am not counting HTML, JavaScript and the SGML markup languages separately, because they come with each of these three options that I have listed. Everything else counted in terms of dollars spent or serious applications built can easily be classified as others. Unfortunately most technology spending is done at large corporates, who when it comes to technologies don't necessarily like to live on the bleeding edge.


Rewind and go back to the late 90s when the web application world started believing that a thin client served off the server was the hip way to go. Its not like you couldn't build VM based rich web apps then. Back then we built fairly complicated banking and procurement applications using Applets alone. Its just that the time was not right! Bandwidth was low, computing resources weren't as abundant as today (a PC with 256 MB RAM used to be the high end -- it wouldn't sell for junk in today's time and age). On top of it Applets had its shares of problems and server centric UIs were at the forefront of fashion.


Back to today and the near future --


Ajax and RIA has started gaining adoption and begun to compete with some of these technologies. Flex in particular is getting popular at places where they use PHP, Java or ColdFusion. Now which area, apart from PHP, is Flex going to erode into the most? Isn't it Java server centric UIs? The question is in the desire to go RIA will Java server centric UI developers (those who program in Servlets, JSP, JSF and the numerous frameworks like Struts, Spring MVC and Web Flow, Seam and the many others that could take me upto a whole week to list :)) go to Flex or Ajax (with one of these server centric options) or Swing/Applets or the Hype (popularly known as JavaFX)? The answer is unknown but there are few things one can guess. The hype is out till it becomes real and Swing/Applets is the bad guy who despite all its good work is tarnished beyond repair as far as web applications go. (Interestingly there are still many web applications that are built on Swing/Applets -- even some of those which were kick started a few months back). So the choice in the near term is Ajax (with server centric framework) or Flex? Now if Flex sees adoption -- who is losing? Also, as Flex becomes popular will the same companies and developers who have just come onboard be willing to switch gears in favour of JavaFX in a few months?


Now as far as BlazeDS goes -- yes it makes Flex easy to be used within the Java EE (or servlet container) world and that is the intention! Flex isn't playing in the server space at all. On the contrary it would like to go with a dominant player in the server side and that is Java. So when you get to comparing the apples alone -- i.e. UI (and leave the oranges out -- the server) you may be left to choose between Flex or Java based UI (+js+ ....) with a Java server for now.


As far as AIR goes, lets not even bring that topic up! AIR is not even trying to play in the mainstream desktop UI market for now. I presented an eSeminar for Adobe on AIR last month and I was amazed to find so many people being unclear about what its purpose is.

Mathew
2008-03-17 10:02:35
A very nice interview...Flex rocks!!!
Krishna
2008-03-21 02:10:50
good..
sidewinder
2008-03-22 06:05:39
Nah, I better use Java applets or wait for JavaFX, JavaFX looks more promising and it's integrated with the Java platform very well plus million's of users already have JRE installed in one form or another as flash. About tools dont tell me that Flex builder is the best tool for a designer, it looks as any IDE as Eclipse(it is based in eclipse i know), I'm sure SUN and the Eclipse fundation will come with great plugins to develop JavaFX.
And for the record I don't trust Adobe it is a company for graphic designers not for Software engineer's as SUN.
Jayaprakash
2008-03-24 13:32:35
Flex and other Adobe products are not open sourced.Lets not follow this 'web desginer' tools.Tools are not important.But technology is.Adobe does the same.It hires people based on C++/Data structures knowledge and asks rest of the world to use their products.
Shashank Tiwari
2008-03-24 18:35:31
@Jayaprakash:


Flex and other Adobe products are not open sourced.
>> This statement is not accurate. Flex is open sourced and gateways like BlazeDS that work with Flex are also open sourced. Maybe you are not aware of this. Please look at http://opensource.adobe.com


Also, being open source or not does not make any technology or tool good or bad.

>>Lets not follow this 'web desginer' tools.
I have seen this sentiment among a lot of developers. However, let me warn you that as programming continues to evolve this divide is going to get blurred sooner, rather than later. Its not Adobe alone. Microsoft, Sun and many others are on this path of supporting both these disciplines :)


>>Tools are not important.But technology is.
Do you want to get rid of your cooking gas because the flintstone can also build a fire? Why are you using this blogging or emailing program or the browser for that matter -- these are all tools. Maybe you want to create these of your own :) I don't think anybody is going to reward you reinvent the wheel at this step of our evolution. Its good to understand what's happening under the hood but shunning everything in the name of tools is not wise by any means.


>>Adobe does the same.It hires people based on C++/Data structures knowledge and asks rest of the world to use their products.


Adobe builds products that help application developers leverage it to gain productivity and get their job done. They are not the only ones who do that but pretty much every other product company does this. They also eat there own dog food -- have you seen Breeze or Buzzword by any chance? Do you want to write the compiler and the virtual machine or do you want to write the application code? You may be aware that most dynamic languages including Perl, Python and Ruby are built on C. Should these go out the door and everybody start using C for everything?

Abdul Qabiz
2008-03-25 11:33:51
I have been reading various comments and wondering, should I be responding here :-)


I just want to say, technologies are like tools in the hands of an artist, sometimes these tools make things easier and sometimes require more effort.


I would focus on the problems at hand and look around various technologies which can help me provide the best user-experience to users. At the same time, I also need to think about business - how much time I am gonna spend to build an app? Which technology would help me doing it faster? Is it ok to go for Flex/Flash or AJAX, why?


All these matter while making decision. AJAX is great because it doesn't require extra plug-in or runtime, runs natively within browser. Flex/Flash are great they can do things, or have been doing, which AJAX (=DHTML) in browser can not do as of today.


Java applets/swing-apps can be great for some use-cases, probably all the case, I don't know. It's relative - if I have team of great Java guys, I can push the limits using Java..


Decision is generally in the hands of developers, most of the time, we have to decide what kind of user-experience we want to provide, we have to take care of business requirements?


Let's not be religious about any one technology? Let's build great applications, whatever [technology] it takes.


Having said that, as of today, I find Adobe Flash runtimes (player, air, etc) allow me to do things hence I use them. Tomorrow, browser would support most of these (audio/video, crossdomain data, etc) then I would be using AJAX (if that would be the way then) or anything else.


In any case, end user doesn't have to think about technology while using it. It's our responsibility to blur that line and make the experience seamless.


I did a small mashup couple of weeks back, where I realized that line was blurred, take a look at it and try to figure it, I would post another comment to describe that line:


http://abdulqabiz.com/files/ylive_mashup/multi_window.html



Thanks


-abdul



Gangadhar Ambati
2008-03-29 01:54:16
Excellent article!! Interesting interview too. Liked it very much.
Will try to implement what I learned from here, right away.
Thanks.
Rajendra
2008-04-08 22:04:04
Hi Guys,
I think Abdul is absolutely right about adobe flex. It is going to change the way we develop applications in future. I want it to enter into mobile apps as well.


Rajendra Tammana

Surojit Pakira
2008-04-22 13:46:34
Hi all,
Its a nice interview. Thanks to Shashank and Abdul as well for sharing their valuable knowledge to us.
Yah, abdul is absolutely right. Please don't be religious about any one technology. I am a java developer and working in the Mixercast since past 2 years or more. I have a great experience of develop our product with Abdul, where we are successfully using Flash-Action script as Front end and java in back. Its not Action script 3 or Flex though , but we are working on it.
I don't have much experience in java swing or applet but its my personal opinion that Flash-Flex is far ahead of Java as far as UI and front end is concern.
So, I think its always be a good idea to bind both the technologies and use their best features and develop great application , rather than be rigid on any personal issue.
k.l.n.raju
2008-06-16 08:21:38
i understand very much about flex thankyou.........
Himanshu Mody
2008-07-09 17:01:01
Flex is really not too difficult to learn all by yourself especially for java geeks. But if you think you need some formal training from Adobe Certified Flex Experts , please contact us - Tekno Point Multimedia. We have trained over 500 professionals on Flex and other flash platform products in India. Apart from training we can also help you to connect with openings in RIA companies accross India. I usually do not post information about my services like this as a comment , but this is an important and an excellent interview related to flex ecosystem of India and I did not want our role in the same to go unnoticed.


Himanshu Mody
CEO
Tekno Point Multimedia