Using Draw.IO for Mockups

I'm definitely not a designer. However, there are times a developer has to do their best to get a new website out for a client and that means doing the initial design for it.

As I was thinking through this I figured doing wireframe mockups would be best. But what tool to use for it? There are some tools for this, of course. Since I didn't need anything real fancy I decided to give Draw.io a try. Believe it or not, you can do some pretty decent wireframes with it. Here's a quick way to get started with it.

Enabling Mockups

You could use Draw.io's default shapes to create mockups, but they do include a lot of very helpful shapes and elements as well. These aren't on by default, however, so they must be enabled in order to use them.

First go to the More Shapes section below the elements section.

In this popup you can then select to add the Markup section.

Using Mockups

After the mockups are enabled, we can begin using them. I'll create a simple web page in this post to demonstrate a few items that may be helpful.

One of the mockup sections is the Mockup Containers. This has a mockup of a web page that we will use. Either drag and drop it to the canvas or single click on it to add it.

Within here we can create our page elements. How about we add a nav bar to the top?

Here we did a drag and drop on the Menu bar element inside the Mockup Forms section. It comes with default text values but they can be changed by double-clicking inside of each of the single section elements to change the text.

Next we'll just add a simple Welcome text to the middle of the page. Draw.io is really good at giving you feedback on where you're positioning your elements. Here's a GIF to help illustrate.

The examples above are only just a small couple of things you can do with Draw.io. It is very good at quickly getting something going with simple mockups. While it's not a replacement for tools such as Sketch it serves as a good tool to get ideas out for others to see in a visual way.

It was my first try at doing mockups and a design for a website. While designing the site wasn't as hard as I thought it would be I would need a lot of practice to imagine something really creative. The design I did was for a simple administration application that only a few people will be using. I may eventually step into the world of Sketch and learn how to use it for future mockups and wireframes. If you're like me an very new to this world, Draw.io is a good alternative to get something going quick, easy, and free.

Introduction to Paket

Paket has been quite the talk lately in the .NET community, and for very good reason. It is essentially another way to manage dependencies in your .NET projects.

But why replace NuGet?

Paket is basically a NuGet replacement so I'm sure you're wondering, "why would we need to replace NuGet?" Paket essentially just takes the functionality of NuGet and adds some extra nice features.

For one thing, Paket makes it able for you to control exactly what's happening with your package dependencies. No more conflict between different packages if those packages reference different versions of the same dependent package.

Another really cool thing Paket does is that it can reference a single file from GitHub. How many times have you needed that and just wound up downloading what you needed and using it that way? If a new version of that file comes along, you'll have to repeat that process.

But I'm already using NuGet

No problem at all! Paket has a nifty convert-from-nuget command to get you up and going.

I'm hooked...but how do I get started?

First, you need to include a .paket folder in the root of your solution. This will include paket.exe that will be used to install and restore packages.

Once that folder and its contents are there, you'll need to create a paket.dependencies file in the root directory of your solution. This file will be similar to the following:

source http://nuget.org/api/v2
nuget FSharp.Data
nuget FAKE

This file tells Paket what the sources are (NuGet or GitHub) and the package/file names so it can be downloaded.

You can then use a build.cmd file or manually call paket.exe like below.

\.paket\paket.exe install

This will create a packages folder that will include all the libraries.

From here you can always manually reference the libraries that you want, but Paket makes this easy as well. In each of the folders where you have a project file, create a paket.references file that contain the names of each library you want to be referenced, like below.

FSharp.Data

Note that FAKE isn't in the file since it won't get referenced. The paket.references file will only add to the project if the library is in a lib folder. FAKE is in a tools folder. This isn't a problem since it can be referenced manually in the build.fsx file.

To get Paket to use the references file, simply rerun the install command with the --hard switch.

\.paket\paket.exe install --hard

This will look at the paket.references file and use that to automatically reference the project with the appropriate libraries.

After that, you're good to get started on your project.

Conclusion

Hopefully this walkthrough will help you get started with using Paket to make your package management easier than before. This is still a young and very active project so I wouldn't be surprised if there are tons of things that this can do for all of our .NET projects.