In a recent article on CRM Developers Journal, Coach Wei asks:
Why Do ‘Cool Kids’ Choose Ruby or PHP to Build Websites Instead of Java? — Here is a question that I have been pondering on and off for quite a while: Why do ‘cool kids’ choose Ruby or PHP to build websites instead of Java? I have to admit that I do not have an answer. Why do I even care? Because I am a Java developer. Like many Java developers, I get along with Java well. Not only the language itself, but the development environments (Eclipse for example), step-by-step debugging helper, wide availability of libraries and code snippets, and the readily accessible information on almost any technical question I may have on Java via Google. Last but not least, I go to JavaOne and see 10,000 people that talk and walk just like me.
Coach then goes on to basically not answer his own question, although he offers a couple ideas about the popularity of Ruby and Php in what some folks at Sun see as a Java world.
I don’t think there’s any surprise about why the Ruby and Php are so popular. Unlike Java, when you write in a scripting language, you get immediate gratification and feedback about your web app. Many industrial-strength Java web applications are complex enough to require build and deploy scripts, multiple deployment tiers, and really beefy workstations to run local developer instances. Very little of that’s required with Ruby or PHP. This translates into something viscerally satisfying to web developers. The ability to change something, and then immediately see that change in the working application. Don’t like the change? Do a little tap, tap, tap on the keyboard and then reload your browser. Boom. Now you have a new version of the page.
This dynamic of small, incremental changes leading to immediate application feedback IS available in Java, using JSP. The problem here is overhead. In most shared hosting environments running Linux, there is usually no stable Servlet/JSP engine set up. This means the developer - oft times what corporate types like me call “Junior Developers” - are required to install the servlet engine themselves. That, or use the web development tools that are already available.
Like PHP.
Well, we finally took the plunge, and started refitting the look and feel of the Springboard Software site. It had been pretty minimalist for quite a while, and we decided we needed a little more meat on dem bones. Look around, and let us know if you like what you see.
Adobe announced today that it will release the Flex SDK under the Mozilla Public License:
Adobe Flex goes open source by ZDNet’s Ryan Stewart — Adobe is announcing the open source release of the Flex SDK. Included are all of the libraries and tools that are offered for free as part of the SDK. It’s part of a continuing trend by Adobe to be more open and it’s going to give developers access to the guts of Flex. This should mean better code, better components, and lots of good things for Flex developers and the Flex community.
That’s good news for developers - and even better news for companies wanting to deploy RIA as part of their web offerings.
Previously, we spent a bit of time talking about how to access the Amazon ItemSearch web service in Flex 2.0. As an example of what you can do with this technology, we have just included a slightly modified version of this Flex application on the left navigator.
The new version supports:
Go ahead, take it for a spin.
How To Deliver Composite Applications with Java, WS-BPEL & SOA Java is an outstanding language for building components, services, and many applications that are vendor and platform neutral. The vast adoption of Java technology by the industry in the past decade is a testament to the power of Java. Development of new applications, services, and components using Java is not going away, but many organizations have progressively moved to the next phase in maturing their IT Infrastructure. This phase is driven by many factors including how businesses operate today, having to constantly adjust to market trends, and that IT has moved from being a support organization to being the backbone of business and, hence, needs to keep pace with the organization. Continuous and faster alignment with changing business needs, time-to-market, and cost are the factors that determine success in this phase.Lots of interesting stuff about NetBeans 5.5, and how you can use it to compose and test WS-BPEL services.
Yahoo and IBM have released a free enterprise search engine for small and medium businesses that will index a up to 500,000 documents on Windows and Linux intranet servers. Omnifind is built upon Apache Lucene search technology, providing fast, full-text indexing and search capabilities of various document types, such as MS Word or PDF, as well as web pages.
IBM and Yahoo! state:
IBM OmniFind Yahoo! Edition is a no-charge, entry-level enterprise search software solution that enables rapid deployment of intranet and file system search for both employees and customers. View Flash Overview
The value add for SMBs is that IBM OmniFind Yahoo! Edition is not only free and built upon proven open source technology, but that it’s backed by IBM and Yahoo, as well as a community of volunteers that can help you tailor your solution to your enterprise search needs. Look for Springboard to be deeply involved with this technology, as well as sample OmniFind scripts to be posted here.
If you didn’t know it, this is the “Age of RIA” - or Rich Internet Applications. Several technologies have made writing rich and responsive web applications a reality. Today, we’re going to look at an example of how to use the Amazon ItemSearch web service using Flex 2, Adobe’s RIA development language.
The key elements that I want to cover are:
Before we go too far, take a look at the finished application in the left navigator of this site. Scroll down until you see the Amazon Search widget in the left navigator, enter a Keyword like “Adobe Flex”, select “Books” and press the “Find It” button.
Even though we liked the old color scheme of the phppatterns.com site better than the new one, we think the content is still aces. One of our favorite areas is the design section with it’s excellent examples of various design patterns written in PHP.
One pattern that we find ourselves using repeatedly is the Strategy Pattern. The Strategy Pattern is one of the original Gang of Four design patterns. The Strategy Pattern is grouped with other behavioral patterns because it’s best suited to solving problems that affect the behavior of your program.
You can define the Strategy Pattern like so:
Encapsulate various related algorithms in individual subclasses of a common superclass.*
You might wonder why this would offer a solution that affects the behavior of your programs. Here’s the beauty of this pattern - if you’ve ever found yourself writing lots of if-else if-else blocks, or if you’ve ever written loads of long switch or case statements, then you’re going to love this thing. I’m not saying you won’t have if-blocks, but you’ll find that your code will become much cleaner and more flexible if you start applying some Strategy. Read on for the example.
Read more…It turns out that PHP provides some nifty introspection features as well. We’ve found one to be particularly useful: the ability of a PHP object to tell us its member variables at runtime. Not sure what that means? Let’s look at an example.
Suppose you’re building a web-enabled content manager (who isn’t?). You want to provide a set of web forms that let your client enter and manage information that gets stored in a database. Further, let’s assume you want to manage several different types of objects that are relavent to your client’s busienss in the database - say, for example, Leads, Events, Stories, Links, Product Reviews, and Blog Entries (maybe you’ve got a demanding client).
In this example, we’re not going to worry about the web forms, nor are we going to worry about the database. I assume you know how to build web pages, and that you know how to read and write data with a database. Instead, we’re going to focus on the business objects that ferry data from the web form to the database, and from the database to the web form. One of the key tasks you’re going to find yourself performing again and again is populating these business objects with data, either from the web form, or from the results of a database lookup.
So, how can introspection help? First, let’s build our base class for our business objects. Let’s call this BusinessObject, and let’s give it the ability to populate itself from an arbitrary array.
Read more…This is sort of a follow up to the comments on the Springboard Twist post. I said that before we take the next steps in applying Deductive Business Logic (that is, in mapping Business Value to the Specific things you should implement in a software project) you ought to make sure you’ve take the first step. At Springboard, we believe the first step is to help our clients articulate their vision of what constitutes the Business Value for a given project.
Of course, that begs the question: What are the tangible components to a statement of the vision of a software project?
I think it’s just three things: