ctodx

This Blog

News

Favorite Posts

Archives

  • DevExpress Universal v15.1 has been released

    If you are a customer with an active subscription, you should already have received an important email from us: that Universal v15.1 has been published to the Download Center and it’s ready for you to, well, download.

    If you have been watching our community site here over the past couple of weeks, you will have realized that this is a release that is packed to the gills with new controls, new features, new improvements across the board, for all the .NET platforms we currently support. And of course we should not forget CodeRush and DevExtreme either. In essence, if your basis for development is Visual Studio, this release is almost overwhelming.

    This whole week we have been also presenting live webinars on the new features, four down and two to go. Thank you to everyone who has attended the four so far – they’re on our YouTube channel if you want to watch them again or for the first time – and thank you if you’ll be there tomorrow and next Tuesday for the two remaining ones.

    (Of course, if you’ve reached this point and are wondering about our VCL Subscription, rest assured we have not forgotten. Now that .NET is “out of the way”, we shall be talking about VCL starting next week. Stay tuned.)

    UI Controls for Desktop, Web and Mobile: DevExpress v15.1

    Normally at about this point in these announcement blog posts, I like to point out those features that have most impressed me about our new release. This time, I’m finding it most difficult indeed to limit the bullet list. For example, there’s:

    • The WPF report designer CTP and the new smooth document viewer
    • The pivot grid and scheduler in DevExtreme – like, wow!
    • The new Excel export engine (and the new Data Access engine, come to that)
    • High DPI support in WinForms and WPF – and, mirabile dictu, the RTL support in WinForms
    • Conditional formatting of data everywhere, it seems
    • The ASP.NET Runtime chart designer
    • The dramatic (as in order of magnitude) speed increase for the PDF document processor

    And, so on, so forth. As I said, a really impressive release. The teams have really outdone themselves this time, so imagine how much more they’re going to have to do to impress us for v15.2 (cue the CTO evil laugh).

    So, please do navigate over to the Download Center and grab the latest installer. You will not be disappointed. As always, if you do have some feedback for us, the support team are ready and waiting for your messages.

  • It’s Microsoft TechDays next week. Where? The Hague!

    Thursday and Friday next week (that’s the 28th and 29th May to you), DevExpress will have a booth at Microsoft TechDays at the World Forum in Den Haag. We were there last year as well and liked it enough to come back this year as a Silver Sponsor! Present will be Don Wibier and myself doing the technical stuff – essentially a repeat of the Techorama dynamic from last week – and John Martin will be in charge of giving out the swag. And, well, in charge of us two also. Seriously, it was great fun last year and we’re excited to be back!

    So, if you’re going to be there in The Hague, please do come over to the DevExpress booth. We’ll be happy to talk about our current product line and show off what’s coming up in v15.1. Also, given the recent news out of Build, you’ll get an excellent opportunity to ask us what we think about the possibilities for new features that face us in the second half of the year. You know: Windows Universal Apps, Windows 10, Visual Studio 2015, ASP.NET 5, etc, etc. Plus, remember that Don can speak Dutch like a native (because he is)so you can chat away with him and I’ll just stand there with a fixed smile and hand you a t-shirt. Mind you, Don is presenting a couple of sessions (“Breaking Bad: you CAN make Fast Web Pages” on Thursday at 15:00, and “Consuming Azure Mobile Services in a JavaScript App” on Friday at 13:30), so I’ll be taking charge of the booth during those hours.

    Oh, and Rachel tells me that we will have a raffle as well, maybe even one each day. So you just have to come to the booth and grab a ticket. Maybe you’ll be the winner!

    See you Thursday!

  • DevExpress TestCafe v15.1 now shipping

    If you are a frequent visitor to the Download Portal on devexpress.com, you may already have noticed that we have published a new version of TestCafe, version 15.1. I am proud to announce that this is indeed the case: TestCafe v15.1 has been published and is now shipping.

    TestCafe_v15_1_NowShippingTestCafe is the automated testing platform for next-gen web applications. Not only that, but unlike other web-testing solutions, you don’t have to install awkward plugins into your browsers in order to do testing; that’s so 20th century. TestCafe provides your QA teams with the tools to start testing any web app in any browser that supports HTML5. Even better, TestCafe is OS-agnostic: the browsers can be running on Windows, Mac, Linux, or mobile OSes like iOS and Android.

    Over the past few months, we have been soliciting feedback from customers and testers on what they liked about TestCafe and what they thought was missing. Consequently, the responses have driven our enhancements to the product in v15.1 and I feel that the team has outdone itself with this release.

    Automated Screenshot Capture (ASC). From v15.1 you can add the capability to capture a screenshot of the web app as part of a test. So, as a very basic example, you can capture the web view if an error occurs in the test: sometimes a picture really is worth a thousand words.

    Enhanced Test Result View, Export Results. Sometimes just seeing the results of your tests isn’t enough, you need to analyze them in more detail. We’ve therefore improved the usability of the Results page by adding the ability to sort, group, and filter the results of your test runs. Not only that, but you can export the results of your tests in JSON, JUnit, or NUnit formats.

    Extensive Assertion Failure Reports. The new Results tab includes additional information about assertion failures: the test code line that failed, the differences between actual and expected values, and even a screenshot using the new ASC feature.

    Failing on a JavaScript Error. TestCafe now includes the ability to fail a test should a JavaScript error be detected in the page.

    All in all, TestCafe v15.1 is a very worthwhile release. If you are already an active customer and using it right now, go to the Download Portal and get it. You certainly won’t regret upgrading. If you are designing and implementing web applications, consider the testing phase of your project and evaluate TestCafe right now.

  • Techorama: what an awesome conference!

    Last week, Don Wibier and I manned the DevExpress booth at Techorama, what I’d characterize as the premier developer conference for Belgium. It was in a delightful little town as well: Mechelen, just north of Brussels. Even better, Techorama was in a local multiplex cinema, Utopolis – it was weird seeing posters for movies on the walls for a conference.

    Canalside in Mechelen

    The organization of the conference was superb: 800 attendees, 50-odd speakers, a dozen exhibitors, WiFi that worked and wasn’t underpowered, and no problems worth mentioning. It was lucky, shall we say, that Don is a native Dutch speaker: the majority of attendees, I’d guess, were Flemish or Dutch and I only had the odd occasion to practice what little French I have left. It helped of course that we had swag to help the conversations along; such as t-shirts, mugs, mouse pads, laptop stickers. We even raffled off a couple of portable bluetooth speakers.

    Don in the DevExpress booth at Techorama

    And what conversations we had! Don managed to get in some demos – yes, actual demos of the product! The most popular topics were undoubtedly ASP.NET and DevExtreme, although many of the customers we met (and we met many) confided into using mainly WinForms in their projects. There was also a healthy interest in Universal Windows apps, a topic we shall be talking about in some detail very soon (perhaps even sooner than you think).

    Don demoing at the DevExpress booth

    All in all, over a fairly intense couple of days, we managed to speak with most of the attendees, I’d say; some even more than once. It’s great to see such passion about developing software and such excitement about what the .NET (or Visual Studio) future brings. Thanks – dankjewel! – to all who came to say hi: I shall certainly recommend we come back next year.

    Saint Rumbold's Tower and Cathedral

    Wacky moment of the trip: this is Saint Rumbold’s Cathedral with its iconic unfinished tower, visible for miles around. In Dutch, that’s Sint-Rombout, which is also the name of a well-known brand of coffee – Rombouts. Confused, moi?

    In a week’s time it’s Microsoft TechDays in The Hague, Netherlands. More double Dutch for me!

  • Techorama 2015 at Utopolis Mechelen, Belgium – we’ll be there!

    Techorama 2015 is a developers’ conference in Belgium, so what’s not to like? It’s in Mechelen, which is, according to Google Maps, some 30 km north of Brussels (and only 21.1 km from the airport) on May 12 and 13 (that’s next Tuesday and Wednesday to you).

    This is a new conference for us, and we’re sponsoring it as a Gold Partner. To make sure the booth is run properly, our Euro-Events Executive Organizer (pronounced “eee-aw”) Rachel insisted that both Don Wibier and I man it, and this we will do to the best of our ability. We have been selected, shall we say, because we are ace at giving out swag. Plus, Don can speak Dutch like a native (because he is) and I can speak French like a bad tourist (because I am), so we’ll fit right into the Belgian bi-language norm. Only in cases of extreme difficulty will I switch into English (like, pretty much immediately).

    So, if you’ll be there, please do come over to the DevExpress booth. We’ll be happy to talk about our current product line and drop several hush-hush hints about what’s coming up in v15.1. Also, given the news out of Build last week, you’ll get an excellent opportunity to ask us what we think about the possibilities for new features that face us in the second half of the year. You know: Windows Universal Apps, Windows 10, Visual Studio 2015, ASP.NET 5, etc, etc.

    And if you’ll not be there? Well, you’ll miss out on all that. And on the swag.

    See you Tuesday!

  • Microsoft Build 2015 – what a blast!

    Well, it’s over, and what a Build it was! I won’t go over what Microsoft had to say – it’s been done to death in news articles, blogs, and tweets – but with regard to DevExpress and its products, possibly the more important things were Visual Studio 2015 RC, Visual Studio Code, Microsoft Edge (née Project Spartan), and Windows 10/Universal Apps. We shall be talking about these announcements and products in the coming weeks and months as we explain how and when we will be supporting them.

    This time the arrangement of the “Exhibitors Hall” was different. First, there wasn’t a hall per se, instead the the booths were separated on three floors in Moscone West. We were on the Cloud Platform and Developer Tools floor (the third floor, and the same as the main Keynote floor in fact) and, despite it being at the top of the building, we had a steady flow of customers, old friends, and, I hope, customers-to-be.

    Partner booths at Microsoft Build 2015

    We had a booth and, as is common with Builds through the years, every vendor’s booth was the same. Here’s Mehul at ours.

    DevExpress booth with Mehul Harry at Microsoft Build 2015

    Mehul and I fielded every question we could, gave out swag (the shrink-wrapped UI Superhero t-shirts were very popular), and demoed as much as we could. There were, shall we say, many questions about v15.1, our next major release, and, although we couldn’t say too much at the show, we did encourage everyone to stay tuned since we’re about to start blogging about the new features.

    Mehul demoing DevExtreme on a Nokia phone

    It was great to see so many people with such a strong sense of passion and excitement about the future. I’d have to say we were buoyed up by the enthusiasm of the attendees for the news that Microsoft presented and what it meant for their development stories.

    And next week? It’s Microsoft Ignite!

  • Microsoft Build 2015: We’re there, come say hi!

    All of a sudden it seems, Microsoft Build is again upon us. And what a Build it promises to be. Let’s see what’s been promised, or, even better, what’s been conjectured.

    Architectural plans for build1. Visual Studio 2015. OK, it seems fairly clear by now that at a Microsoft developers’ conference called Build, Microsoft are going to announce a new build (geddit?) of Visual Studio 2015. I doubt it’ll be the RTM but instead the RC, or Release Candidate. That’ll make it high time for this software-risk-averse CTO to install it on his machine – virtual machines, what are they?

    2. Windows 10. No, definitely not the release, but I dare say there’ll be some kind of developer-related news about the next generation of the Windows platform. There may be another beta release, but then again Microsoft are throwing out new versions regularly already.

    3. Developing cross-platform Windows apps. With the previous two items, we’ll be hearing about the ins and outs of creating cross-platform apps. Maybe with some joint time with Xamarin (after all, they are there too). So expect lots of information about Universal apps, especially for the phone. Maybe even for IoT? Who knows. (Well, they do, but you know what I mean.)

    4. Azure. Not too sure what will be talked about with regard to Azure. After all, we’ve just had Azure Mobile Services released, but there’s bound to be something new to keep the Azure name in the forefront of everyone’s mind.

    Not only all that, but we shall be there too showing off the DevExpress goods in our booth. And swag. Don’t forget that. So please come on over: Mike Roz, Mehul Harry, and Yours Truly will be there to talk about DevExpress products and about what’s coming up in v15.1 in – ooh, I don’t know <cough, cough> – a month’s time? Plus you’ll have the opportunity to ask us difficult questions about how we’re going to be supporting any new functionality related to 1 to 4 above. Plus swag.

    See you this week! (Did I mention the swag?)

  • RAD Studio XE8 has been released

    Hand with WrenchI’m quite sure that if you are an Embarcadero RAD Studio fan, you know that XE8 was released yesterday. According to the email from Embarcadero notifying me, it was released at 12:01am – cue an old story my Dad used to tell me that the British Army never planned anything for 12:00am or 12:00pm because no one knew which one was noon and which one was midnight. Whereas one minute past the hour? No problem.

    Anyway, if you’ve already downloaded and installed it, you may be turning to DevExpress to see whether the latest release of our VCL Subscription supports it. Coincidentally, we released v14.2.5 of the VCL Subscription overnight too. Unfortunately, our releases clashed and v14.2.5 does not have that all important support for XE8. (After all, we get the new version of RAD Studio at roughly the same time as everyone else.)

    So this is a placeholder post to say, yes, we’re now testing our VCL code against the official RAD Studio XE8 release and, yes, you will be getting that support in a few days in a new minor version – v14.2.6 – of your active subscription. Stay tuned!

  • WinForms Layout Control: Usability Enhancements

    As you may know – and in my opinion, should know: it’s a great, time-saving control – the Layout Control provides rich design-time and runtime customization capabilities, giving you and your users the ability to easily arrange controls in the way you want, to resize and hide controls, to specify the alignment of prompts, and so on.

    Traditionally, the customization features are activated using a context menu. This menu can be opened by either right-clicking a control's label or padding, or some empty space within the Layout Control itself. If, however, the controls within the layout container are displayed with no or little padding or no labels, or worse there is no empty space at all, it makes difficult for you and your users to activate the customization menu. In such layouts (an example is shown below), you’re forced to engage in some deft “pixel hunting” in order to locate a point where a right-click invokes the customization menu. And we know how annoying that can be.

    Layout form with no spare padding: where do I click?

    Worry no more as we have introduced a new Quick Runtime Customization mode and a few usability enhancements in v14.2.6 (yes, in a minor release!) to help with that pixel hunting issue.

    Quick Runtime Customization

    The Quick Runtime Customization mode, just like the default customization mode, provides a full range of customization actions, available in a touch-friendly customization form.

    To activate this new mode, users have to press and hold a finger (on touch devices) or right-click and hold (using a mouse) within the Layout Control's bounds (including areas occupied by other controls). Quick mode initialization is visualized with an animated load indicator.

    Layout Control: quick runtime customization

    Note that the customization buttons are context dependent.

    Design-Time Glyphs and Improved Resizing

    We have addressed the design-time "pixel hunting" issue by introducing design-time glyphs. Two glyphs are displayed once an embedded control is selected. The first glyph Design-time glyph for dragging allows you to perform item drag-and-drop operations, while the second glyph Design-time glyph for context menu can be used to invoke the layout item's context menu.

    We have also improved layout item resizing. The capability to resize items with no padding has been added.

    LayoutControlDesignTimeCustomizationUsingGlyphs

    Alt + Dragging

    This enhancement addresses a potentially inaccurate insertion of an item during drag-and-drop. This can happen when the target location may be hidden underneath the item being dragged. With this change, an item being dragged can be temporarily made transparent by pressing and holding the ALT key. This allows you to clearly see the target position.

    Using Alt+Dragging

    As I’m sure you can see, these small changes will provide a large improvement in usability. Check them out in v14.2.6, available any day now. Feedback on these enhancements is welcome: just comment on this post or send me an email at julianb@devexpress.com. The team would love to hear from you!

  • Using JavaScript in WebForms apps? Have I the webinar for you…

    Yes, I know, I know: you could probably get away without doing any client-side programming in your ASP.NET WebForms app. Back when I started writing web apps some dozen years ago, that’s exactly what I did. I even remember finding this little snippet of JavaScript that would force the caret into the first text field on the page when it was displayed, and using it all the time and virtually nothing else. Ah, those were the days.

    These days, it’s different. JavaScript is all grown up now. Yes, you can still find those blog posts about what you get from adding two empty arrays together (“What’s [] + [] equal?”) and other peculiarities of the language, but real JavaScript devs have moved on, have established a set of best practices, and are creating real client-side experiences with the language everyone loves to poke fun at.

    So, next Tuesday at 10:00am Pacific time, I’m presenting a webinar on using JavaScript inside your ASP.NET applications. We’ll be doing some refactoring, writing some new code, creating closures, and other things that will show you that JavaScript is a language force to be reckoned with, even in that ASP.NET app. Register here now.

    BatmanSlapsRobin-UseStrictOne of the best practices I’ll be describing almost in passing is the use of strict mode – or should that be, the strict use of strict mode. I’m talking about putting this construct at the top of your functions (or even better, at the top of your JavaScript file):

    "use strict";

    Since I won’t be talking about it too much in the webinar, here’s what strict mode is all about. Put at its most succinct, it helps you avoid certain mistakes and errors in your JavaScript (see above where I quickly mentioned the peculiarities of the language).

    Strict mode changes common mistakes into errors

    The biggest example here is creating global variables by mistake. You’re deep in some function and you need to store some value in a new variable. In the heat of the moment, you forget the var keyword.

        var closeWidget = function(index) {
            panel = controlList["dpw" + index];
            panel.Hide();
            if(noWidgetsAreVisible())
                $(".widgets").addClass("hide-panel");
        };

    The code seems to work, but in reality you have created a bug. The panel object here is created as a global variable. It is visible elsewhere in the application. If someone else created a global variable called panel – after all web apps are created in teams of more than one person – you’ve just clobbered their version. And so on. Globals are bad, creating one is easy by mistake, but strict mode throws an error at run-time if that code gets executed. (Mind you, a good lint program would find it too.)

    Similar to that is properly declaring a local variable (Hurrah!) but misspelling it as you assign to it (Boo!). Result: another global variable is created with the misspelled name.

    Other examples of mistakes that are invisible in normal code but that will throw in strict mode are assignments to non-writable variables. Yes, in non-strict mode these types of assignments will seem to work, but won’t actually do anything. Wouldn’t you rather get an exception than total silence on this kind of mistake? Examples are assigning to a non-writable property, a property that only has a getter, a new property on a non-extensible object.

    Ditto delete-ing something that cannot be deleted.

    Property names on an object must be unique (I didn’t even now that non-strict mode allowed this). Saves you against inadvertent typos.

    Parameter names in a function declaration must be unique. Again saves you from your typos.

    No octal syntax for number constants. That is number constants can’t start with a ‘0’. Seems too many new devs have never used octal (blimey, I haven’t in twenty years or so) and so were completely bamboozled when something like 0123 was actually interpreted as 83.

    Strict mode simplifies uses of variables for optimizations

    Using with is disallowed. As it should be. Hated it in Pascal/Delphi, it’s worse in JavaScript. Brrr. Thanks, strict mode!

    There are some changes to how eval works. In particular, new variables introduced by the code being evaluated will not appear in the surrounding scope. In normal mode, they are and can overwrite outer scoped variables. Which, you must admit, is a bit of a security problem.

    Strict mode makes arguments simpler to use

    In essence, strict mode stops you doing stupid stuff with the arguments pseudo-array. I hardly use it anyway, so haven’t run into any of the things strict mode forbids. (Reminds me though of a daft blog post I read recently that so enjoyed doing stupid stuff with arguments.)

    Strict mode helps secure JavaScript

    The this variable is no longer guaranteed to be an object. Strict mode will, in certain cases, make this be undefined. This has bitten me mildly before: I used to assume that IIFEs when called had this as the global object. This “strict” behavior also avoids unnecessary boxing of primitive types.

    It is no longer possible to “walk the stack” since strict mode makes accessing the caller property illegal. Goes along with the changes to arguments to make JavaScript more secure.

    Strict mode looks to the future

    The list of reserved keywords is larger in strict mode. This means that your identifiers now won’t clash with keywords from later JavaScript versions. Things like implements, interface, let, package, private, protected, public, static, and yield.

    Function statements must appear at the top of a script or function. Not something that’s bitten me personally, since I don’t use function statements, but buyer beware.

    Summary

    All in all then, strict mode introduces a set of logical restrictions to the language designed to help you avoid common mistakes and errors and to prepare you for newer versions of JavaScript. I recommend wholeheartedly using strict mode (as well as a lint static analyzer) in all your JavaScript code. Most of all, you should register for my webinar.

1 2 3
4
5 6 7 8 9 10
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