What happen to SketchFlow and what we should use instead? - visual-studio

What is the new Microsoft way of UI prototyping since VS2015 doesn't support SketchFlow projects. (I'm having hard time to accept that they removed such a useful tool without providing alternative)
I know we still have PowerPoint StoryBoards for basic UI mock-ups but I would like to use interactive prototypes through Visual Studio. Therefore please do not suggest alternative products

Related

Need to port complex GUI interface projects from RAD Studio to Visual Studio

I'm working for a company which maintain several Desktop application projects written in C++. All of these apps have complex GUI interfaces. What I mean by "complex" is, among others, interfaces with many components, deep component hierarchy, usage of frames, third party and/or custom component packages which support features like transparency and animation.
Until now we always used the Embarcadero RAD Studio suite to write and maintain our apps. However the many recurring bugs of each new version has tired my superiors, and now they are considering the possibility to migrate to Visual Studio.
I think that migrate the application core functions written in c++ will not be a real issue.
However for the GUI it's an other story. I had a previous experience with complex interfaces under the Visual Studio 2003 compiler, and I remember that this was a painful work to create and maintain them. There was no real designer, components were limited, and a huge part of the job was to be done manually. From that I took a look on the designing tools provided with Visual Studio 2017, and my first impression is that not much has changed since. The designer for c++ projects is still so rudimentary, especially in comparison to the RAD Studio VCL, with its well-supplied component library. The C# API is closer than what I need, but I cannot envisage to rewrite all my code in C# as a serious option.
I tried to search tutorials about the good practices to apply in a such situation, but until now I found no helpful info.
My questions are:
Can I recover my current GUI interface, at least a part of it, while I migrate to Visual Studio, or do I have to plan to rewrite everything from scratch?
Does Visual Studio provide a mechanism similar to VCL for composing GUI interfaces, installing third parties packages and writing custom components? And if yes, where can I find relevant info about that?
Is a such port possible without a high dose of headache and tears? Where can I found relevant info about a such process?
I am also currently working on a product which is developed using Embarcadero RAD Studio and some 3rd party UI controls. Development was done many years back, so its UI is quite older style. I tried to migrate it in Visual Studio, by developing application logic in C++ and UI in C#(WPF). But it is as good as writing new application, cost is more. So we discontinued that exercise. However what I learned during this is –
Migrating VCL application from RAD Studio to Visual Studio is like writing new application. There is no one-to-one mapping(data types, stuctures, UI controls etc), you have start from scratch. Also there are no tools available which can help this migration.
Some data types, data structures, UI controls are easily available in RAD Studio, which are not available in Visual C++ (MFC), and vice versa. So you have to review every code line while migrating the application logic.
There are no 3rd party UI controls available for Visual C++(MFC) which can make your life easy. For RAD Studio you have LMD tools, businessSkinForms etc.
After working on RAD Studio over 5+ years, Developing UI is quite easy in RAD Studio (UI in C++). However in Visual Studio you can develop your UI in C#(WPF) which will be rich and can communicate with application logic written in C++.
As you said, you have several desktop applications developed with RAD Studio, while migrating to Visual Studio start with smaller and standalone application. So you will get some confidence during migration of this application and then you can put such migrated small application in production one by one without impact.
~Nilesh

How was the gui for Visual Studio 2012 achieved and how can we make similar looking applications

Visual studio 2012, being run under desktop mode under windows 8. Doesn't share the look of other windows 8 desktop applications.
How was this GUI achieved?
Did Microsoft scrap MFC/Winapi altogether (since its so different) and use Direct2d to create the custom gui? Or, have they just made calls to Winapi to customize it they way it looks?
Is there any shortcut for us developers to implement the vs2012 theme in our applications? Using the MFC Application template wizard we can chose from many themes but no vs2012 alike is available.
Indeed, Visual Studio 2010/2012 leverages WPF.
LEVERAGING WPF
WPF utilizes DirectX. WPF attempts to provide a consistent programming model for building applications and provides a separation between the user interface and the business logic. WPF leverages XAML, which is a declarative markup language. XAML stands for eXtensible Application Markup Language, which is based on XML. XAML is designed as a more efficient method of developing application user interfaces
ITS ABOUT MULTIPLE DOCUMENT WINDOWS AND FLOATING TOOL WINDOWS
Visual Studio was written to support multiple document windows and floating tool windows.
GREAT LIBRARIES ARE AVAILABLE
Codeplex provides a library to model the multiple document windows.
http://wpfmdi.codeplex.com/
There is also a docking library you can leverage:
http://avalondock.codeplex.com/
MEF IS USED HEAVILY
The internals have been redesigned using Managed Extensibility Framework (MEF).
MEF allows application developers to discover and use extensions without messing around with configuration files.
MEF allows you to easily encapsulate code and avoid fragile hard dependencies.
This allows developers to create add-ins to modify the behavior of the IDE.
DESIGN GOALS
In Visual Studio 2012, a one change is that the interface uses of all-caps menu bar.
Some design goals include reduced clutter and visual complexity by removing excessive lines and gradients in the UX.
The UI has been modernized by removing outdated 3D bevels.
You can take Spy++ which comes with Visual Studio and inspect the windows/class names of the application. If you do it with VS 2008, it's obvious that it's MFC. If you do it with VS 2010 and later, you will see that it's all WPF stuff--no MFC involved.

Working with XNA?

I'd like to develop a small game but as I created a Windows Phone Game-Solution, all I get is C#.
I am used to have access to Expression Blend, to edit "Pages" and their elements, so that I can implement their codes behind seperated in Visual Studio.
Is there a way, to have something like that (Visual Studio for code/Blend for UI) for XNA games? After all I work with people who don't understand code at all.
Take a look at the FlatRedBall-Engine, its based off XNA and has some (quite clunky) editors.
I would recommend you the Beefball-Tutorial: http://www.flatredball.com/frb/docs/index.php?title=Tutorials:Beefball
No, there is no visual editor for XNA projects. You will have to write the core or use third-party libraries to facilitate the development.
this one I recommend for people who are beginners in XNA and WP7
http://blogs.msdn.com/b/tess/archive/2012/03/02/xna-for-windows-phone-walkthrough-creating-the-bizzy-bees-game.aspx

Visual Studio 2010 for UI wireframe?

Just wanted to know that how good is the Visual Studio 2010 for designing UI wireframe?
Is there any major shortcoming in VS2010 in this area.
The UI that i am going to create are the mock up UI but i intend to use the same in future for actual web application development.
Please help, as i am going to use it for the above mention work .
I would rather use visio or any other Mockup tool, see here: http://webdesignledger.com/inspiration/18-great-examples-of-sketched-ui-wireframes-and-mockups
I don't think Visual Studio alone without any AddIn would be very useful in this.
If you want a microsoft product why not use sketchflow http://www.microsoft.com/expression/products/Sketchflow_Overview.aspx
AS you may already have blend installed.
I've started using the Balsamiq mock-up tool for quick prototypes, it's good for that early mock-screen stage but it might be too simple for what you want.
http://balsamiq.com/
There is a web-demo you can try, my favourite feature about it is that it doesn't look like a finished product so it keeps things looking suitably "prototypey". I've tried sketchflow after watching the incredible demo video but it was much buggier and unreliable when I tried it for myself and I spent more time fighting with it than I did coding so I just ditched it and went back to the Balsamiq tool.

What exactly is Microsoft Expression Studio and how does it integrate with Visual Studio?

My university is part of MSDNAA, so I downloaded it a while back, but I just got around to installing it. I guess part of it replaces FrontPage for web editing, and there appears to be a video editor and a vector graphics editor, but I don't think I've even scratched the surface of what it is and what it can do. Could someone enlighten me, especially since I haven't found an "Expression Studio for Dummies" type website.
Expression Studio is basically a design studio. It consists of a bunch of design software that Microsoft has bought for the most part. The audience is designers, not developers. The gist of the software is that Expression Blend enables designers and programmers to work seamlessly together in letting the designer create the graphical user interface.
In a normal workflow, the designer would deliver a mockup which the developer would have to implement. Using Expression Blend in combination with WPF, this is no longer necessary. The graphical UI made by the designer is functional. All the developer has to do is write the code for the function behind the design.
This in itself is great because developers invariably fail to implement the design as thought out by the designer. Technical limitations, lack of communication … whatever the reason. UIs never look like them mockup done up front.
Expression Design is basically a vector drawing program that can be used to design smaller components that are then used within Expression Blend as parts of the UI. For example, graphical buttons could be designed that way. It can also be used as a vanilla drawing program. I did the graphics in my thesis using Expression Design.
The idea is that designers will work in Expression Design (to design vector artwork) and Expression Blend (to build and style XAML interactions, as well as to define timeline based animations and interactions).
Developers will work on the application in Visual Studio. Visual Studio includes very basic XAML editing capabilities, so developers would only be making minor edits and would mostly be focusing on the code-behind.
That's the theory / product strategy side of it. In reality, if you're performing both roles, you'll end up having your project open in both Expression Blend and Visual Studio, switching back and forth between them depending on whether you're doing "designer tasks" or "developer tasks". Fortunately, Expression Blend and Visual Studio use the same project files.
From Wikipedia:
Microsoft Expression Studio is a suite of design and media applications from Microsoft aimed at developers and designers. It consists of:
Microsoft Expression Web (code-named Quartz) - WYSIWYG website designer and HTML editor.
Microsoft Expression Blend (code-named Sparkle) - Visual user interface builder for Windows Presentation Foundation and Silverlight applications.
Microsoft Expression Design (code-named Acrylic) - Raster and vector graphics editor.
Microsoft Expression Media - Digital asset and media manager.
Microsoft Expression Encoder - VC-1 content professional encoder.
For web development Expression Web is useful. For XAML development, Blend and Design are useful.
EDIT: Okay, I type too slow so most of what I had to say was already mentioned, so I'll strip it out except for...
The BIG thing to take note of is that the WSYWIG designer they used in Expression Web made it's way into Visual Studio 2008, which is a VERY GOOD thing. There is now EXCELLENT support for CSS, a better editing interface, and you can even go into a split edit mode to see the code and the content while editing.
For the longest time I was using Expression Web to do all my initial layout and then loading that into Visual Studio 2005. With Visual Studio 2008, there is no need to do it.
The Expression site is the first place to start. These are tools that bridge the developer/designer gap for building rich internet applications with Silverlight and WPF. They compete with Adobe Studio products.
Whilst Visual Studio is good for working with code, it has some weaknesses when it comes to dealing with XAML. In many cases a designer will build something visually different from a Windows application and Expression Blend allows them this freedom. It ties in Visual Studio for the C#/VB coding and debugging part of development.
Expression Studio is targeted more at designers. It integrates with Visual Studio in that Expression Studio uses solution and project files, just like Visual Studio. Which makes collaborating with designer easier. The developer and the designer open up the same project. The developer sets up the initial page with all the binding and the designer takes that page and makes it look pretty.
Please check for XAML .NET development, most of the tutorials makes use of many Expression tools.

Resources