1 November 2007
Today, Adobe launched the new Education Developer Center, which will cater to people who are teaching or learning how to create web and desktop applications using Adobe® Flex™. I work for Farata Systems, a company that develops rich Internet applications (RIAs) using Adobe Flex and Java™. I've also been teaching Flex to various audiences, including students of one of the most prestigious schools — New York University (NYU). In October 2007 I'm going to teach the Flex course at NYU for the fourth time.
It's no secret that enrollment in computer science and information systems courses is on a decline in the United States. High school graduates do not select IT-related majors for various reasons, and the following two seem to be cited more often than others:
- Because of outsourcing, it's difficult to find jobs in the software industry.
- It's too difficult to study.
My short answer to the first statement is this: Raise your hand if you know a computer science graduate who tried but failed to find a job in IT. Not too many hands, are there? Software engineers are in big demand in the U.S., and this trend will surely continue. Offshore teams do not represent a threat to U.S. software developers. They bring more competition to the field, but there are plenty of IT jobs in the United States.
The second statement is more fodder for discussion. I was recently speaking with professors about the high dropout rates in computer science departments. One of the reasons cited for the dropouts was that a large number of students enrolled in CS were under the impression that they would just be learning how to create cool web pages. In reality, though, they had to study data structures and algorithms, how to create compilers, and similar disciplines, which was not a lot of fun. Those who graduated and started working as enterprise software developers quickly realized that most of the disciplines they'd been studying in school were not needed to perform their daily duties. Some professors would argue that educational goals of the universities are much wider than just baking programmers for the industries. I can buy this — but then don't complain about the decline in enrollment in your classes.
Flex in the classroom
Curriculums in computer science and information systems should include more courses in practical disciplines, arming students with the skills prospective employers are looking for. Learning object-oriented programming with Java and C++ is a must, and knowing how to work with databases and what software engineering is all about are important as well. But it's the 21st century, and you can't ignore the web. Colleges should introduce more courses about web application development early in the program. And these courses should be fun.
This is where Adobe Flex comes into play. Every high school kid knows about YouTube. Many of these kids know that these videos are rendered using Adobe Flash® Player. Some of these kids know that Flash programmers write programs that support rich media content delivered by Flash Player. A number of kids know that you can easily create rich Internet applications with ActionScript™. But only a small group of people know that there is very robust technology called Adobe Flex that can be used for creating the content for Flash Player.
Not only videos, but banners and animations as well can be delivered to consumers by Flash Player, which is a virtual machine (VM) similar to the Java Virtual Machine that is a multiplatform environment for delivering web content. Flash Player 9 is already installed on more than 90% of computers in the world. Major enterprises have already started using Flex for creating RIAs. Wall Street is using Flex for development of mission-critical applications. Yahoo! maps are created using Flex. eBay is developing applications in Flex. Federal agencies, SAP, Salesforce.com, multimedia firms — all are using Adobe Flex for creating very interactive, visually appealing web applications.
If you have not had a chance to work with RIAs, check out the article Rich Internet applications: State of the Union to get familiar with major players in this emerging market.
Reasons for adding a class
I'd like to give you some reasons for adding a class on rich Internet applications with Adobe Flex to your curriculum:
- There is a growing demand in the industry for professionals who can create highly interactive and well-performing web applications with Flex. It integrates with other languages, technologies, and techniques such as Java, Ruby, Python, and Ajax.
- Adobe Flex is fun to work with. Your students will see immediate results of their work and will be able to apply this knowledge not only in the college labs, but also on their own websites.
- Adobe Flex includes two languages: MXML, an XML-based language, and ActionScript 3.0, an object-oriented language with a syntax very similar to Java. Refer to the article Comparing the syntax of Java 5 and ActionScript 3 for more on this topic. Note that ActionScript is not a replacement for Java, but a complement to it. While Java is a general-purpose programming language, ActionScript is a domain-specific language used for creating graphical user interfaces and communicating with other software written in Java and other programming languages.
- Teaching object-oriented programming using a language with rich visual features is a lot easier for professors and is a much more pleasant experience for the students. After students get a command of ActionScript 3.0, they'll be able to master Java based classes a lot easier.
- Flex is available in all major platforms (Windows®, Linux®, Mac OS) and Flash Player 9, the delivery VM for Flex applications, works in all major web browsers (Internet Explorer, Firefox, and Safari).
- While Flex programs can be created in any text editor and compiled from a command line, most people create Flex applications in Flex Builder, a plug-in for the Eclipse™ IDE, which is used by a majority of Java programmers. Your students will be able to easily switch from Java to Flex coding without leaving Eclipse.
- There are plenty of books of various complexity on Flex 2 and ActionScript 3.0 that can be used as textbooks for your Flex classes.
I do not like the word "exciting" when it comes to professional programming, but I can promise you this: You will become excited from the minute you start preparing your Flex course.
I'm sure Adobe realizes the huge potential in bringing Adobe Flex into higher education, because students turn into employees, and they will start using and recommending this technology for enterprise projects. Such a strategy worked out great for Java, and it will work for Flex as long as Adobe offers support for students and educators. Launching this online Education Developer Center shows that Adobe is serious in this department.