ctodx

This Blog

News

Favorite Posts

Archives

  • Debugging DevExpress code with PDB files

    Do you like debugging? (I know, I know, a necessary evil, right?) Do you own a license to either DXperience or Universal subscription (in other words, you have the source code)? Do you wish that you could debug into DevExpress code from your code?

    Did You Know?Well, we’ve just made that a whole lot easier in v13.1 (or later) by providing the PDB files as a separate download for you. Just go to the Download Manager once you’re logged in and you should see a link to download the PDB files for your particular version. (They are version-specific, so be warned.) These are standard “program database” files and contain debugging symbols and other information that help in your debugging efforts within Visual Studio. Once you have downloaded these files and completed a little bit of configuration, you will be able to debug into DevExpress code as if it were your own.

    For more details on how to configure Visual Studio to find the DevExpress PDB files once you’ve downloaded them, please see the KA18843 Knowledgebase article in the support center. There are full details in that article – with screenshots! – so you shouldn’t have any issues, but if you do our support team can help.

    Remember: they’re only available for DXperience 13.1 or Universal 13.1 or above (you have to have the source) and they are version specific.

    Happy debugging!

  • TestCafé webinar and quick FAQ

    On Tuesday, August 27, I shall be presenting a webinar on our new functional testing tool for the web, TestCafé. Supporting me will be members of the team that created the product and we’ll be providing as many answers as we can in the half-hour or so of the presentation. I shall of course be demonstrating TestCafé in action; sometimes a picture (or a video) is definitely worth a thousand words.

    TestCafé logoIn preparation for that, let me provide some answers to some questions about the product. I dare say I’ll be talking more about these topics during the webinar, but it doesn’t hurt to provide some foundation first. So, without further ado, here’s the Top Ten questions.

    Q1. What is TestCafé?

    A. It is a tool, a system for creating and running functional tests for web pages, sites, or applications. As I’ve put it before, if it’s HTML5/CSS/JS and served up by a supported browser, TestCafé can test it.

    Q2. What is functional testing?

    A. Functional testing is a QA process designed to test what a system does, and not how it does it. (The latter is more the purview of unit testing.) In other words, you the developer (or tester) define what should happen in a certain scenario with certain inputs, and functional testing verifies that the output is as you’ve specified. Let’s take a small common example from a blog: each article in the blog is shortened in the browser and has a “read more” link. When the user clicks on one of those links (the first, say) the page should slide down to show the remainder of the article. A functional test would recreate the initial conditions, “click” the first link, and then verify that the resulting page has the article visible.

    Q3. Does it work on WinForms/WPF/Silverlight/Metro apps?

    A. No. This is a web testing tool. Think “testing HTML in a browser” and you can’t go far wrong.

    Q4. You mentioned ‘supported browsers’. Which ones?

    A. Essentially any browser that is capable of rendering HTML5 and that supports a modern dialect of JavaScript. So, IE9+, Chrome, Firefox, Safari, Opera on Windows, Safari and others on the Mac, browsers on Linux.

    Q5. They’re all on the desktop, but we need to test our mobile web pages. Does it work with browsers not on the desktop or do we have to use a simulator?

    A. Yes, TestCafé works with any device with a modern browser. So, Safari on the iPhone or iPad is supported, as is the Android browser and IE on Windows Phone 8. Using simulators for testing? <spit>

    Q6. Wow, does that mean you provide plug-ins for all those browsers as part of TestCafé?

    A. No, we don’t. The reason is that, unlike other web testing tools, TestCafé does not use plug-ins at all. When we were coming up with the idea for TestCafé, we recognized that a plug-in architecture was fundamentally flawed. Plug-in functionality is restricted by the browser manufacturers, and yet a testing plug-in has to somehow replicate user input gestures (keyboard, mouse, touch), screenscrape in some way to verify output, read the DOM of the page, verify whether page elements are visible or not, and so on. In essence, the problem is the plug-in is manipulating your browser, not the web page; there’s an awkward man in the middle.

    So, no hunting for that plug-in for Firefox 20 or the one for IE9 so you can install it. There is nothing to install in the browser under test. Zip. Nada. Zilch.

    Q7. So how does it work? Surely it has to replicate user actions in order to run tests, and that would require a plug-in to feed keystrokes or mouse actions.

    A. Not at all. And herein lies the beauty of the TestCafé experience. There are two main parts to TestCafé: the server and the client library. There’s the server part which holds the dashboard and analysis components (as well as the proxy server) that launch the tests being run on the client (one or more browser instances on whatever devices). This part runs on node.js, with the Control Panel being viewed inside a browser. Then there’s the client-side library that runs the tests within the client browser and communicates the results back to the server. The clever bit is that the client browser loads its pages through the TestCafé proxy server, which means TestCafé can inject the client-side library inside the page being tested.

    Now, both the server and the client could be run on the same machine (this is how I do all my work with TestCafé), but they don’t have to be. The client browser could equally well be on a remote PC or mobile device connected to the LAN. All you have to do in that case, is to ‘register’ the remote browser as a ‘worker’ with the TestCafé server by navigating to a special URL, after which TestCafé does the rest. Oh, and just because I use the term ‘client’ in the singular doesn’t mean that TestCafé is somehow restricted. It can run tests on many browsers simultaneously in parallel. And when we release a new version, all you have to do is update the node.js server, you don’t have to go to every single browser you’ve used and update those: the TestCafé server is king.

    Q8. How do you create a test in the first place?

    A. Two ways: you can get TestCafé to record it for you, or you can write it from scratch.

    Q9. Great, so there’s yet another DSL (Domain-specific language) to learn?

    A. Nope. All tests for TestCafé are written in JavaScript, even the ones recorded by the tool. If you think about it, that’s the only way it would all work: the client-side library gets your tests as JavaScript files and just executes them. You can put anything in your tests, including calls to your own libraries that you’re loading as part of the page. In other words, code re-use is other big benefit of using TestCafé. The biggest benefit of all though is that your test code is running as part of the page in the browser. You have full access to the DOM of the page; it’s just as if your tests were part of the page. There is a small TestCafé API to learn, certainly, but it’s not a completely new language.

    And that, boiled down to the basics, is why TestCafé works on all devices with a modern browser: it’s just JavaScript all the way down. If you’re a web developer, you know it already and TestCafé fits right in to your experience and workflow. If you’re not a web developer or tester, why are you reading this?

    Q10. How do we get TestCafé? Is it a service or is it a separate download that we install?

    A. It’s a download. Yes, we could have launched TestCafé in such a manner that we controlled the server part (in essence, we could have “rented” out testing services), but we recognized that a lot of web testing is done in a QA environment which may be just running on an intranet, with no connection to the internet. In that scenario, it makes sense to provide the server part as part of the TestCafé install.

    So if you want to try it out, go ahead, download and install into a local instance of node.js and experiment to your heart’s content. If you want some hand-holding as you set it all up, please visit our documentation page: there’s a full tutorial of how to configure TestCafé, how to create tests, how to run them and debug them, and how to add them to a Continuous Integration system. Or just watch the supplied videos on those tutorial pages. Or, if you’re like me, do both ;). Of course, full support is also available from our support team if you get stuck.

    If you want to use it for a commercial site or app, we sell licenses per developer/tester, not per machine. You can buy a license for $499, and please note that we do have discounts for multiple licenses. Naturally, you get all the benefits that the non-commercial tester gets, with the additional benefit of faster response to support questions.

     

    So, see you on Tuesday, August 29. Register now!

  • Meet DevExpress TestCafé

    There have been some hints here and there, some rumblings of a new product on the horizon, but now it’s finally time to reveal all…

    A revolutionary website functional testing tool

    DevExpress TestCafé logoWe are very excited to introduce the newest addition to our product line – TestCafé – the testing tool that will change the way you view web testing. It differs from other testing or browser automation tools in so many ways. Firstly, there’s next to no configuration involved: it just works on different operating systems and allows you to test your web UI in any modern browser. And not just browsers on your desktop or laptop either. You can connect remote devices, including smartphones or tablets, and TestCafé will execute the tests on the device itself using its browser. Note that the mouse and similar system resources aren’t being used when testing – so you can continue using your computer for other work while TestCafé runs tests in multiple browsers in parallel in the background.

    Those and many other features – including the Visual Test Recorder, Continuous Integration support, markup and script analysis on the target webpage – are all described on the dedicated TestCafé website: testcafe.devexpress.com.

    Great news for web developers

    No matter how you create tests with TestCafé – either using the Visual Test Recorder or just by writing the script by hand (and, believe me, it’s pretty simple to do that) – you end up with code. The good news that it is JavaScript code, there is no proprietary language to learn here. As such, you can do many things in the same manner as you do them when developing your site:

    • Access webpage elements just as you would normally do – use the DOM, Luke!
    • Re-use existing JavaScript functions that you have written, or call into other JavaScript libraries.
    • Debug your test code using your browser’s Web Developer tools.

    In other words, if you are a web developer, you’re pretty much a TestCafé expert already.

    Getting started with TestCafé

    We suggest that you first watch our overview video that will cover all aspects of TestCafé usage – from recording tests to continuous integration.

    Comprehensive online documentation is available here. It’s online and being continually updated, so if something isn’t clear, let us know and we’ll fix it immediately.

    Being a developer, you’ll want to see code; we totally understand that. Bookmark the Example page – it’s used in many documentation samples. Navigate to that page and download the sample test fixture to learn how TestCafé tests work.

    Pricing, licensing, and some good news for Universal subscribers

    Like all our products, TestCafé is licensed per developer, meaning that everyone creating and running tests using TestCafé will need a license, which costs $499. As usual, multi-seat discounts are available. For more information on licensing, please refer to the following pages:

    TestCafé will be included in the Universal subscription, so all active subscribers will see it in their Download page.

    Let us know what you think

    As always, we want to hear from you. Give TestCafé a try and write us a line in comments to this post or by contacting our Support Team at http://devexpress.com/Support/Center/

  • What’s coming in XAF 13.2 – Webinar

    String around finger as reminderThis post is for all the XAF fans out there: I’m presenting a webinar on the features we’re planning to add to eXpressApp Framework for Universal 13.2, for release towards the end of the year. I’ll have Dennis and the rest of the team here helping out, of course. This has been scheduled for Tuesday, August 20, at 10am, Pacific Daylight Time (GMT-7).

    (To ensure Dennis is as fresh as a daisy for this webinar, he’s gone off on a camping holiday somewhere in the wilds of the countryside where the dreaded internet has not yet reached. At least that’s what he told me. Meanwhile he left me this email about possible features that is a bit short on details…)

    Some keywords we may be discussing: tablets, performance, web UI, reports, data consistency, performance, validation. Of course, in order to find out what we actually do discuss, you’ll have to attend. So visit the Webinars page in order to register your seat now; don’t leave it too late or you’ll be disappointed!

  • Supporting Windows 8.1

    Unless you’ve been taking a diving holiday in the Caribbean since before the //build/ conference (in which case, why didn’t you invite me?), you’ll know all about the Windows 8.1 (code-named ‘Blue’), at least from a user experience perspective. Well, it should come a no surprise that there are also changes to the run-time and the APIs for AppStore (aka, Metro) apps to support these UX improvements.

    Windows 8.1 Start Screen [Image (c) Microsoft]Among these enhancements and changes are:

    • A new application resizing mechanism.
    • Faster XAML load due to the ability to precompile to a binary format.
    • On-demand style loading.

    To meet all these enhancements and changes that will appear in Windows 8.1 (remember, it’s currently only in beta with a ‘late August’ RTM date), we will provide you with a new version of the DevExpress XAML controls that target this new version of the OS.

    In porting the controls to Windows 8.1, of necessity we had to make some major changes to allow your AppStore apps to leverage the new APIs and UX features. These improvements include:

    • Supporting the new application view states.
    • Optimizing the controls to use the new UX features of Windows 8.1.
    • Ensuring the DevExpress Project Templates and Item Templates are completely compatible with the new features, such as app resizing.

    Naturally, anyone reading the above is going to have some…

    Compatibility Questions

    Are these enhanced controls going to be a minor version of 13.1?
    No, they will be tagged as version 13.2. So, assuming that Windows 8.1 will RTM in August, we will immediately release a separate installer for the final version 13.2 of the Windows XAML controls. They will remain in a separate installer until we release the full version 13.2 in late 2013, when we will merge them back into the main installer again.

    Will the version 13.2 of the DevExpress Windows XAML controls work with Windows 8?
    No, they won’t. They will have been optimized to work with Windows 8.1, and will not work with Windows 8 (certain APIs will be missing, for example). So the rule here is: if you are writing AppStore apps for Windows 8, stick to 13.1. Note though that presumably users will be upgrading quickly to Windows 8.1 since it’ll be available in the Windows AppStore.

    Can I use version 13.1 in Windows 8.1, once that’s released by Microsoft in August?
    Yes, you can still use version 13.1 of the DevExpress Windows XAML controls in Windows 8.1 in compatibility mode. However, note that, in this case, you may encounter warnings caused by changes in Windows 8.1 API. You will also notice that the non-optimized controls load slower than the optimized ones.

    As always, if you need clarification, please email support at support@devexpress.com, or me directly at julianb@devexpress.com. You can learn more about DevExpress Windows 8 XAML controls here.

    If you'd like to try it out, you'll need to use a PC or VM running Windows 8.1 Preview, with Visual Studio 2013 (preview) installed. You can download the beta here. If you own a license to our Windows XAML package (or DXperience or Universal), this beta install will be available from your DevExpress account page.

  • VCL Subscription 13.1 released

    Although last week I was away at //build/, Microsoft’s developer conference for all things Windows, Azure, and Visual Studio, there was a bigger event right back in the DevExpress offices: we released version 13.1 of our DevExpress VCL package for our Delphi and C++Builder customers. This is the first major release of the year, and the team have made some important changes and enhancements to the premier VCL UI control library.

    With this release we decided to concentrate on nailing down what it means to develop performant applications with a UI that adheres to modern designs and thinking. Far too often, Delphi apps seem to be stuck in the early 2000s mindset when it just isn’t necessary. So, for example, with the new Office 2013 Ribbon style and skin, we can start to provide your end users with a fresh new look to the apps they’ll use every day: out with the grey, in with the cool minimal-chrome white.

    VCL-Office2013-Ribbon-Skin

    To add to that, how about a new form of the old standby, the context menu? We were inspired by the new radial menu in OneNote 2013 and created a control that you can use in your apps today (and we made it easy to switch your code from the previous style to the new radial one). And, heck, if your users have a touch screen ultrabook, they’ll be right at home: it practically begs the user to touch it. Talking of which, we’ve done a whole lot of work in this release to help you create touchable UIs: enhancements to controls to create bigger touch-friendly targets, better text alignment settings, superior actions with touch rather than mouse.

    VCL-Radial-Menu

    There’s one effect you really notice after using a tablet for your entertainment use: the way that grids and lists scroll. They scroll smoothly, pixel-by-pixel, yet on your desktop they scroll in jerks, row by row. Never fear, we’ve solved that problem too: welcome to flawless pixel scrolling in the grid in Table and Banded Table Views. It really is an enhancement that your users will appreciate.

    And we haven’t forgotten the developers who have to deal with lots of data. Two things of note here: we’ve improved Server Mode (our super-fast data binding mode) by adding MS Access and SQLite database support, as well as adding support for Embarcadero FireDAC (yes, we’ve sped up FireDAC, ’nuff said); and we’ve made some serious changes to our data controllers that exploit multithreading to speed up sorting and grouping in “classic” data loading scenarios. What can you expect? Well, it depends on the CPU on the client, but we’ve seen some remarkable results (*cough* four times faster *cough*, though your mileage may vary).

    VCL-Performance-Improvements

    Coupled with these and other changes, there have been many smaller enhancements and fixes, making DevExpress VCL 13.1 well worth your time to investigate. And this release of the components maintains its pole position in the VCL control suite market.

  • DevExpress Universal 13.1: Binding tomorrow to today

    There are some major releases which accrue a certain amount of importance, and, in looking through the What’s New for this first major release of 2013, I can’t help but feel that sense of significance. The reason? There’s so much good stuff here that, if I were to do it complete justice, I’d just be repeating the selfsame What’s New.

    So, let me approach things from a thematic angle, if I may.

    One of the things we’ve noticed over the past year, despite all the news from Microsoft during that time, is that around half of our customers are still writing thick-client apps on Windows, be it with WinForms or WPF. Yes, all the buzz might be about Windows AppStore apps, yet the bread and butter is being earned on desktop Windows. It seems that taking care of these desktop developers, helping them to slowly get their users accustomed to the Modern UI design esthetic and the new data visualizations and navigation metaphors, without abandoning their codebase or experience, might be a good idea.

    We’ve already done some work, certainly, with our 12.x series of releases. Things like the Metropolis themes, the tiles, the concessions to touch, all these have helped. With 13.1 though, we decided to go much further to aid the desktop app developer with the addition of some major new controls.

    • DevExpress WinForms Spreadsheet controlA new spreadsheet control with full support for formulas, cell formatting, import/export to Excel file formats or CSV, and so on. No more shelling out via COM to Excel: you can drop a fully-optimized Microsoft Office-inspired spreadsheet right in your apps. We even provide a Ribbon configuration with all the usual spreadsheet functionality so you can quickly deliver your next stunning application. Since the engine is separate from the UI, you can use it programmatically to open a spreadsheet file (or create a new one), modify it, and save it.
    • A new map control that uses as provider either the Bing map web service (vector, photo tiles, or hybrid) or OpenStreetMap. Like our map controls on other platforms, there’s support for vector drawings on the map (a route, say, or maybe icons for special places). The control also comes with the standard UI elements needed for map manipulation, such as scroll, zoom, coordinate labels, and so on.
    • A PDF viewer control (beta release). At long last you can embed a DevExpress control in your app to display PDF files. Text, images, and vector shapes are supported, together with embedded fonts and font styles. The interface for the PDF Viewer implements zooming, scrolling, and a continuous page layout and provides a ready-to-use Ribbon tab, which makes it extremely easy to incorporate a Ribbon bar in your application.
    • DevExpress WinForms Map ControlA Live Tile Manager control. This new control, more than anything else in the list of new functionality for 13.1, exemplifies the title of this post: it binds the investment and code you have in your WinForms desktop apps now to the Windows 8 Start Screen. You can display a live tile on the Start Screen – updating on a regular basis just like all the other tiles there – driven by a WinForms app. Click on the tile, and the WinForms app comes to the forefront. Since only Modern UI apps can place tiles on the Start Screen, there’s just a little hint of some DevExpress magic going on in the background: the Live Tile Manager. This is a Windows AppStore app that can set up a communications channel to a WinForms desktop app and act as a middleman, displaying a tile, updating it according to commands from the desktop app, and switch to the same app when the tile is touched or a clicked.
    • And so much more: new editor controls (including sparklines), an icon library with an image picker.

    Despite all this work on the WinForms side of things, WPF developers have much to celebrate too.

    • A new Banded Grid View. This is the ability to arrange column headers into bands and to create multi-row record layouts. It’s been a part of our WinForms grid for a long while and now it’s available in WPF and Silverlight.
    • A new Chart Wizard. A simpler and quick-to-invoke chart wizard. No longer do you have to struggle with the Visual Studio Properties window to configure your charts, just you can use this powerful visual tool instead. It can be invoked in your apps too, so your users can more easily configure their charts. (Added to Silverlight as well.)
    • Improvements to the Map control (Silverlight as well) include built-in tooltips, map element selection, data binding, and much more.
    • A new Property Grid Control (or vertical grid), just like the properties window in Visual Studio: edit a set of properties displayed as a vertical list with ease.
    • And many more enhancements and improvements.

    Since we’re talking about XAML controls, at least tangentially, let’s discuss our Windows 8 XAML controls. When we first introduced these, we made them part of DXTREME. After all, they’re for mobile apps, so we reasoned that they should be part of a ‘mobile’ product together with our cross-platform HTML5/JS framework and widgets. Well, nice try, but no cigar: it soon became obvious they just didn’t fit there. So we revamped DXTREME and moved the Windows 8 XAML controls out into their own package. For 13.1, we’ve added a couple of new controls to this collection and made some improvements to the grid.

    • DevExpress Windows 8 XAML Radial menuThe new OneNote-inspired Radial Menu is a radically new way to present a UI that allows the user to make selections or initiate actions: a menu in a circle. Try it, you’ll be amazed at how smooth and easy to use it is.
    • A new Flyout Control for displaying a panel that slides in from the sides of the screen.

    I’ve talked a lot about the desktop and Windows 8 apps up to now, but that doesn’t mean we’ve neglected the web developers among our customers. With ASP.NET and ASP.NET MVC there is a complete set of new enhancements and functionality

    • Endless Paging (also known as continuous scrolling) for touch-centric applications that use the GridView, DataView, NewsControl , and ImageGallery. This is the ability to show the items being displayed as an infinite list, with the control only loading extra items as the user scrolls down. Think of the functionality provided by the Facebook or Twitter apps.
    • A new MVC Image Slider, like the existing ASP.NET one.
    • A new MVC File Manager based on the ASP.NET version.
    • A new MVC Captcha control for those times you need to check that a real human being is entering data into your forms.
    • A new ASP.NET Image Gallery control. 
    • And many more enhancements and improvements. Please see Mehul Harry’s series of blog posts on the new functionality in ASP.NET for 13.1.

    At this point, a small diversion into a new product: the Document Server. This is a non-visual .NET Library, built and optimized for C#, VB.NET and ASP.NET developers alike. It allows developers to fully automate Excel and Word without using Microsoft Office automation. Generate XLS, XLSx, DOC, DOCx, RTF, CSV and Snap Report files using a straightforward API that's easy-to-use and ready for the enterprise. The DevExpress Document Server also includes a zip compression library and a barcode generation library.

    For the Dashboard, we’re adding an OLAP Server Mode for SQL Server, a new Dashboard theme, and myriad printing enhancements.

    Reporting has not been ignored, far from it. Expect to see a Table of Contents report control, a much-anticipated Sparkline control, and there’s a new Report Designer and set of management controls for WinForms. For WPF and Silverlight, we’ve added a new control that provides a ribbon-based report preview. Snap reports have improved too: there’s a new wizard to add a data source; support for nested fields; an API has been published so you can create Snap reports from code; there’s a new ability to edit table cell styles; and we’ve added a new hyperlink data field.

    DevExpress CodeRush implicit local variable supportCodeRush doesn’t get off easy either, with some well-designed visual enhancements and some performance improvements across the board. We’ve much improved CodeRush’s support for XAML code; the Smart Tag menu is now populated asynchronously for extra performance; auto-initialization of variables, fields, or properties has been enhanced; CodeRush can now declare local variables implicitly; and there have been significant improvements to the Debug Visualizer and to linked identifiers.

    All in all, DevExpress Universal 13.1 is a major release in every sense of the word. It’s out now, so download the release, install, and start using these new features. And above all please don’t forget to let us know your feedback: I’m at julianb@devexpress.com, and the management team can be reached at management@devexpress.com.

  • DXperience 13.1 will be .NET 4 or above

    For quite some time now, we’ve had a somewhat weird split in the platforms we support. For WPF and Silverlight, we moved to a common set of underlying libraries way back in version 10.1, two years ago. As part of this restructuring we decided to take advantage of the new capabilities of Visual Studio 2010 and .NET 4. Overall, this change has been positive, and the implementation of our set of Windows 8 XAML controls in 12.2 (which require Visual Studio 2012 and .NET 4.5) was made much easier (and quicker) by this decision.

    Modern Old TypewriterHowever, our WinForms and WebForms controls have not kept up. For these platforms, we are still supporting .NET 3.5 and Visual Studio 2008 or later. This has started to cause some issues with the cross-platform libraries we implement: we’d like to take advantage of newer C# 4 and .NET 4 features for our XAML code (and, indeed, for our WinForms and ASP.NET code), but we’re being held back. One of the biggest features we can’t take advantage of, as an example, is the new dynamic keyword, which is almost de rigueur when writing web code these days.

    The other issue is that, we currently support three IDE versions, with all the required extra testing that entails (not to mention that the UI designer in VS 2010 was a big change in and of itself). We also took a look at the statistics we have about which IDEs you, our customers, are using and I’d have to say the vast majority (95%+) are using VS 2010 or VS2012. It seems in the Visual Studio ecosystem, developers tend to stay up to date. Heck, even I’m using VS2012, uppercase menus or not…

    Consequently, after some debate, we decided to standardize and make .NET 4 (or later) and Visual Studio 2010 (or later) firm requirements for version 13.1 of DXperience.

  • The PropertyCross project

    Over in the UK, Colin Eberhardt and Chris Price have been taking on an arduous task: evaluating the various frameworks and libraries that (ostensibly) help you create mobile applications. Their goal is not necessarily to discuss the Objective-C’s and Javas of this world, but instead to look at those libraries that allow you to create cross-platform apps that also hopefully take on a native look-and-feel for the device they’re run on.  They are initially concentrating on iOS, Android, and Windows Phone 8.

    PropertyCrossTo help them in this exercise, they decided to replicate an app they’d already written. The app was chosen specifically “because it is non-trivial, multi-screen and makes use of a number of device capabilities including page navigation, geolocation, storage and web services.” The app is a search front-end for UK property listings and is called PropertyCross. Not only do they review each library that they use, they are also publishing all of the code they write for this app on GitHub. So, you can check out their methodology and results, and also peruse the source to aid you in your search for a mobile multi-platform framework.

    Colin contacted us a little while back to see if we wanted to participate, and want to we did. We first wrote the app using the original DXTREME, but identified several issues, mostly performance-related, as we did so. This formed a strong  impetus for our plans for the new DXTREME Mobile and for the PhoneJS library it builds upon: improve the performance. Oh, and by the way, while you’re doing that, make it much faster. Consequently we withdrew our initial undertaking as we went back to the drawing board. PropertyCross was an ideal example of the kinds of mobile business apps our customers wanted to write, so optimizing for it helped make PhoneJS and DXTREME Mobile easier to use (and more performant) in those scenarios.

    We submitted our new implementation last week and Colin has just published it on the PropertyCross site. We’re very pleased indeed: check out the screenshots on that page for an example of how PhoneJS solves the native look-and-feel problem, and download the source from GitHub to check out how it’s implemented.

    (A note on the “Known Issues” on the PhoneJS page for PropertyCross: we’re actively attending to those we can address. Unfortunately something like PhoneGap not working fully with Windows Phone 8 is a little out of our hands.)

  • DXTREME Mobile for C# developers–the Design

    I must add a caveat to that title: “Such as it is”.

    (See the Introduction to this series here.)

    In essence, I want to keep the work flow of the Citizenship Test app pretty simple to suit the main devices it’ll run on.

    When you run the app, I envisage a plain home screen: the title, and a couple of options. The first option allows the user to review all hundred questions and their answers. I see this as a straightforward list of Q&A items and the user would flick to scroll the list up and down. An alternative would be to just list the questions in a scrollable list, and then have the user touch a question to navigate to another screen to see the answer. Although uncomplicated, I feel that this could be cumbersome since the user would then have to navigate back to the question list. A user experience that is not overly onerous, but the back-and-forth is still a little inelegant I think.

    The second option from the start or home screen would be the testing option: display a question and accept input from the user. What I’d like is a text box and some natural language processing to analyze the answer and check it against the actual answer. I’m not too sure about that just yet (NLP is not my forte), but we’ll see. Somewhere on the screen will be a button to navigate to the next screen with the next question. Since the actual naturalization test consists of ten questions of which you have to answer at least six correctly, this will also be the format of the testing option. There’ll also be a final screen (not shown) that would grade your answers.

    The back button on this screen would not go back to the previous question, but to the home screen. Pressing it would cancel the current test.

    Naturalization Test AppDesign

    As you can see, the way I’ve designed this app is to break it up into several steps (that is, screens), going from the simple to the more complex. That way, as we build it, you’ll get a flavor of how to develop these kinds of applications with DXTREME Mobile.

    Next time: the Home Screen.

5 6 7 8 9
10
11 12 13 14
LIVE CHAT

Chat is one of the many ways you can contact members of the DevExpress Team.
We are available Monday-Friday between 7:30am and 4:30pm Pacific Time.

If you need additional product information, write to us at info@devexpress.com or call us at +1 (818) 844-3383

FOLLOW US

DevExpress engineers feature-complete Presentation Controls, IDE Productivity Tools, Business Application Frameworks, and Reporting Systems for Visual Studio, along with high-performance HTML JS Mobile Frameworks for developers targeting iOS, Android and Windows Phone. Whether using WPF, ASP.NET, WinForms, HTML5 or Windows 10, DevExpress tools help you build and deliver your best in the shortest time possible.

Copyright © 1998-2017 Developer Express Inc.
All trademarks or registered trademarks are property of their respective owners