DevExpress Case Study: Exelixis Software

The Company: Alcantara-Designs was established to provide easy access to enterprise level expertise for individuals and small to medium sized businesses. Founder Rhoel Alcantara has been leading teams that develop enterprise level desktop and web applications for multi-national companies all over the world since 1991. This passion of providing solutions (over and above software) is what stands for.

In addition to software development and consultancy, is also involved in developing, maintain, and sharing ASP.Net and Desktop software that is free for anyone to download and use without any limitations. Aside from showcasing the range of expertise we have to offer, it also promotes lively (and constructive) discussions of current and future techniques for the betterment of the IT industry (and also our own production methods).

The Project: ADJE

ADJE (Alcantara-Designs Job Engine) is a free to download and free to use job boards website made using ASP.Net, DevExpress controls, and MySQL database server. It was designed to be used as a stand-alone website that functions as a database driven classified ads of job openings, and online storage for applicant information and resume files. It can be easily integrated into any existing website to provide the same functionality.

ADJE is highly customizable via CSS, HTML, JQuery, DevExpress Themes, and Custom Templates. Some features include resume upload; medium trust hosting ready; Cufón fonts; templates; PayPal and DalPay Payment integration allowing site owners to charge for advertisements; Facebook share/recommend built-in; Google Analytics integration; Preloaded with 7 Countries (US, UK, PH, HK, SG, CA, AU), 446 Country Regions, and 214,613 Cities; Tested on 1.5 Million job records (it can handle more than that!); and a lot more!

Our custom written HTTPHandler routine ensures that applicant resume files can only be downloaded by recruiters with whom applicants have a pending job application for. Illegal page or file requests are logged as “issues” the database, for further action by the administrator as deemed necessary.

The Situation

Making sure that all of the development software we use is of the highest caliber possible is our top priority. We believe in the adage of using “the right tool for the right job”. In the past, there have been some occasions when we are not satisfied with any of the solutions out on the market and we had to develop our own tools in C++ from scratch. Unfortunately, forging our own tools meant lengthened development time, increased project cost, and also diminished capacity to take on more projects; it was far from ideal.

Once we had a requirement to develop enterprise software that necessitated the use of many grids and toolbars, we knew we needed something better than what we had been using. We got hold of evaluation versions from all available third party grid providers for testing. Each grid was evaluated meticulously and tested individually on the same development computer using the same parameters.

We evaluated all aspects that are very critical for us:

  • Data Rendering Speed
  • Developer ease of use
  • UI (User Interface) appearance and UX (User Experience)
  • Master-detail capable
  • Customizable column contents
  • Filtering, sorting, and grouping
  • Data source connectivity options
  • Reliability
  • Ease of Deployment
  • Manufacturer support response time

Thankfully, our tests indicated that we don't need to produce our own grid implementation. The DevExpress Grid surpassed each of our requirements. It was hardly a close fight; DevExpress won the tests hands down.

Why DevExpress

DevExpress controls are easy to use and deploy. The documentation is top notch, and tech support is very knowledgeable with fast response times (usually within 24 hours, which is crucial if you have an urgent problem or project delivery/deadline).

All of DevExpress components work seamlessly together, and the gorgeous themes are great eye candy. In today's market, software is as much an art as it is science. Gone are the days when people were content at typing code numbers in a monochrome screen. UI and UX elements are quite important considerations, and both add considerable development time. Fortunately, DevExpress Themes will produce a pleasant (and modern) looking interface out of the box.

All third party control developers release something new and better every year, so it is fairly uncommon for us to ever stick to a single vendor for more than 3 years. That being said, we have remained using DevExpress since 2005 because every time we evaluated the market for something new or better, it always turned out that DevExpress is still the champion.

Overcoming Challenges with DevExpress

ADJE is a web application that allows users to upload resume files over the Internet. In the old days, at the most basic level, we used to handle this by using forms, filestreams, a repeater control (for multiple file uploads), and hundreds of lines of code. Today, adding upload capabilities to ADJE with DevExpress involved dropping in an ASPxUpload control to a web form, and sipping a cup of coffee. What's more, there are only 15 lines of code on the form instead of a hundred, which makes it very easy to maintain. The flexibility of being able to handle events server or client side is also fantastic. It has more features than we currently need, but that's always a good thing in our book.

During coding of modules and forms, there is often a need to pass a server-side values to a client-side JavaScript code. DevExpress controls have server-side JSProperties, which frees us from the otherwise seemingly impossible task of dealing with such a logistical nightmare. In our years of using DevExpress controls, this is one of the more silent but very cruicial feature of DevExpress controls that we cannot live without today. These kinds of extra features makes developers like us feel secure knowing that the DevExpress Team works hard to provide new features before we even need them!

One of the major hurdles we had to overcome in the ADJE was the seemingly trivial task of developing a means to effectively display hundreds of thousands of city and region names to help people pinpoint their personal or business address. In this case, the strategy of using cascading ASPxComboboxes with IncrementalFiltering worked great, and the compact footprint of the code needed to achieve all that means we will have less code to worry about breaking down.

Saving Time

Using DevExpress controls definitely saved us a lot of time. Development for ADJE would have taken us many more months to build without DevExpress controls. The summation of time savings come from the many small conveniences that the DevExpress controls have to offer for developers; from validation routines/events, AJAX support, globally set appearance, etc.

Aside from the rich built-in feature set of each control, we find that the controls are very flexible. The ASPxGridView for example, can be used merely as a display list, or as a full featured grid editor with sorting, filtering, grouping, and searching capabilities. This flexibility enables us to use just one control (and technique) for many different situations, which makes for less coding and maintenance.

What would you say if you were recommending DevExpress to a friend?

DevExpress components for Web/Desktop development are easy to use, well documented, feature packed, and on top of that - its product support is the best in the industry!

Let it be known that I don't make such recommendations lightly. But in the years we've used DevExpress components it has proven to be a worthy main stay in our arsenal of tools. And if I'm right, it will continue to be that way long into the foreseeable future.

Rhoel Alcantara