Monthly Archives: January 2013

Programmers Increasingly Using Sharepoint for Mission-Critical Apps

Thumbnail for 597

In the world of applications, there are basic, everyday applications, and then there are mission-critical applications. Think Microsoft Calendar versus a highly complex financial transaction system at a bank. The former applications are relatively easy to manage and they generally do not perform mission-critical processes; the latter are the lifeblood of the company.

For IT programmers and job-seekers, we encourage them to focus on the latter. These types of applications are not only important to a company’s success, but also (and not surprisingly) programmers who know these technologies tend to make more money.

Well, now comes word that more and more intrepid programmers are using Sharepoint 2010 for mission-critical applications. This is a new development, as the platform was primarily used for basic office tasks and document sharing. Now, however, programmers are using Sharepoint for public-facing Websites, accounts payable, and HR portals – all of which can be viewed as “mission-critical” applications.


 

(function(){
var s=’hubspotutk’,r,c=((r=new RegExp(‘(^|; )’+s+’=([^;]*)’).exec(document.cookie))?r[2]:”),w=window;w[s]=w[s]||c,
hsjs=document.createElement(“script”),el=document.getElementById(“hs-cta-56453ef6-3a30-4c2b-bdad-7ea409af6251”);
hsjs.type = “text/javascript”;hsjs.async = true;
hsjs.src = “//cta-service-cms2.hubspot.com/cs/loader.js?pg=56453ef6-3a30-4c2b-bdad-7ea409af6251&pid=153597&hsutk=” + encodeURIComponent(c);
(document.getElementsByTagName(“head”)[0]||document.getElementsByTagName(“body”)[0]).appendChild(hsjs);
try{el.style.visibility=”hidden”;}catch(err){}
setTimeout(function() {try{el.style.visibility=”visible”;}catch(err){}}, 2500);
})();

 

Using Element.Property Syntax for the SolidColorBrush Class

Element.Property syntax to alter opacity

Even once you’ve learned about shapes and geometries, and creating your own drawings, youneed to learn brushes in order to create the kind of content you’ll need in rich, XAML-based applications.

Think of a brush as a means to paint, or fill an area with its output. Differentbrushes provide different types of output: Some paint with a solid color, others paint with a gradient, pattern, image, or drawing. This article focuses on specifying colors for the simplest brush, the SolidColorBrush class, using Property.Element syntax to describe the SolidColorBrush. This syntax is more verbose, but it allows you to specify additional settings,including the brush’s opacity.

Using Element.Property syntax when specifying a color, you can get the best of both worlds: That is, you can specify a color using its name as a string, and you can also set the Opacity property separately. If you want to alter the opacity of a color at runtime, this is the best solution(because the opacity can be set as a separate property, rather than requiring you to alter the color itself). Using this syntax, you might see the Fill property for a Rectangle shape set like the following:

The Figure below demonstrates this syntax. In the following example, the Opacity property of a SolidColorBrush has been bound to the Value property of the Slider, and the SolidColorBrush object provides the Fill property for a Rectangle:

Thumbnail for 559This post is an excerpt from the online courseware for our Windows 8 Using XAML: Bindings, Shapes, and Animation course written by expert Ken Getz.

Ken Getz is a Visual Studio expert with over 25 years of experience as a successful developer and consultant. He is a nationally recognized author and speaker, as well as a featured instructor for LearnNowOnline.

Adobe Embraces HMTL5 – Perhaps It’s Time to Start Paying Attention

url

You know HTML5 is the hot skill of the future when even its competitors admit as much.

That’s what happened recently when Adobe, the makers of Flash – a technology whose best days are certainly behind it – ditched its mobile Flash software for HTML5.

This didn’t happen out of thin air, however. Back in 2010, Steve Jobs wrote an open letter eviscerating Flash’s deficiencies. Basically, by being a 100% proprietary piece of software, Flash significantly hampered developers. It made life quite difficult, which created the market, if you will, for while HTML5 to take over.

Not soon after, Adobe officially announced what the world already knew, that – and we quote here – HTML5 is “the best solution for creating and deploying content in the browser across mobile platforms.”

There’s still work to be done, of course. Older Web browsers like Internet Explorer may not support some components of HTML5. But when Steve Job and HTML5’s main competitor reach the same conclusion, it’s probably time to sign up for an HTML5 tutorial and get to work.

Geometry Mini-Language

PathGeometryLines.xaml

Imagine a scenario in which you have a large amount of data, and a correspondingly large amount of markup. Defining each curve, line, arc, and shape individually requires a huge amount of markup, and most of it is redundant. To minimize the amount of markup, at the expense of readability, XAML supports a “mini markup language” that describes geometry. Thisreplacement language is often called the “geometry mini-language” (or Path mini-language”) and although there’s no need for you to be able to create markup using this language—you’re going to use design tools to create complex layout, rather than creating markup manually—it is important to be able to read and understand the intent of the language.

Take, for example, the markup used to create a star shape surrounded by a square (see Figure below):

 

Using the geometry mini-language, the following Path element creates the exact same result (in the page GeometryMiniLanguage.xaml):

Obviously, the first few attributes set up properties for the path just as in the original markup. The difference, of course, lies in the Data attribute (which replaces the Path.Data element in the original):

The path data uses a sequence of commands, indicated by letters:

  • M100,0: Move to 100,0.
  • L160,200: Create a LineSegment to the indicated point.
  • L0,75: Create a LineSegment to the indicated point.
  • L200,77: Create a LineSegment to the indicated point.
  • L40,200: Create a LineSegment to the indicated point.
  • Z: Ends the current PathFigure and sets IsClosed to True. (You only need to use this command if you want to set the IsClosed property to True. Otherwise, you can simply use M to move to a new point.
  • M0,0: Move to point 0,0.
  • H200: Starting at the current point, create a horizontal line to Xcoordinate 200.
  • V200: Starting at the current point, create a vertical line to Ycoordinate 200.
  • H0: Starting at the current point, create a horizontal line to Xcoordinate 0.
  • V0: Starting at the current point, create a vertical line to Y-coordinate 0.

TIP: The command letters are case sensitive. Uppercase letters indicate that the coordinates that follow are absolute; lowercase letters indicate that the coordinates are relative to the previous point.

NOTE: For a full description of the geometry mini-language, see the following documentation page: http://go.appdev.com/?id=8AEA.

As you can see, using the mini-language makes your markup far more concise, at the expense of readability. Again, your best bet is to use dedicated design tools, such as Expression Blend, when creating graphics for use in XAML. You’ll save many hours of frustration.

ldn-expertkgetzThis post is an excerpt from the online courseware for our Windows 8 Using XAML: Bindings, Shapes, and Animation course written by expert Ken Getz.

Ken Getz is a Visual Studio expert with over 25 years of experience as a successful developer and consultant. He is a nationally recognized author and speaker, as well as a featured instructor for LearnNowOnline.

How Can You Tell if a Technology Has Arrived?

follow-the-green-fish1

There are two ways to find out what the “next big thing” will be in terms of programming languages and next-generation IT skill sets.

The first way is to read the popular IT journals; this is a piece of advice we’ve given in the past, and we’re sticking to it. That’s because magazines like Computerworld and InfoWeek provide objective forecasts around what technologies companies will adopt in the future.

The other – and more immediate way – to find out is by seeing what early adopters are doing. (Usually the best way to find this out is through the aforementioned journals.) Once the big boys start adopting a technology or standard, it’s safe to say it’s here to stay.

For example, take HTML5. Even before the standard was 100 percent complete, YouTube, Google, and Netflix adopted it and incorporated it into some applications. Never mind that full certification won’t come until 2014 – they were that excited and eager to roll it out.

This probably the best evidence yet that an HTML5 tutorial should be a key part to your career development plan.

Using the GeometryGroup Element with XAML

Geometry Groups

In previous articles we have discussed how to use almost all the classes that inherit from the Shape class, and you’ll find that you can accomplish many of your drawing goals using these shapes. Sometimes, however, you need more control overdrawing, and for that purpose, you can use the powerful Path class. The Path>class, as you’ll see, can contain any simple shape, group of shapes, and even more complex items, like curves.

In order to work with a Path instance, you must supply the instance’s Data property. This property contains a Geometry object that describes the shapes contained by the Path.

If your intent is to create several shapes that share the same fill and stroke characteristics, the simplest way to draw them is to place them within a single Path element, and surround them with a single GeometryGroup element.Note some important features of the GeometryGroup element:

  • Because the Path element defines the Fill and Stroke properties, all geometries defined within a GeometryGroup element share the same values for these properties.
  • The GeometryGroup element draws all of its children without regard to z-order. In other words, all borders show.
  • The GeometryGroup provides a FillRule property, and defines the fill characteristics for the entire group. That is, it treats all of its children as a single closed polygon, and follows the same rules for filling or not filling internal regions.
  • Using a GeometryGroup reduces the overall number of elements, and the amount of markup, required to describe your content. Although this won’t make a huge difference, the less markup you have, the faster your content can be rendered.

The Figure below shows a group of three geometries (a rectangle, ellipse, and line) drawn in two different ways; the top version uses individual Path and Geometry elements, and the bottom version uses a single Path with a GeometryGroup element. In each case, a TextBlock containing the text “This is some text” appears before the group of shapes in the markup.

The top cell includes the following markup:

As you can see, each element in the StackPanel appears “above” previous elements in z-order, and the geometries almost completely block out the text in the TextBlock.

The bottom cell includes the following markup:

With the GeometryGroup’s FillRule property set to its default value(EvenOdd), the center section of the figure isn’t filled in, and the text below the shapes shows through. In the bottom right version of the drawing, the GeometryGroup’s FillRule property has been set explicitly to Nonzero, and the entire drawing gets filled (no text shows through).

HTML5: A Dream Come True for Today’s Web Developers – And Here’s Why

site_title.png.pagespeed.ce.zzya4xgl2w

Recently we looked at how HTML5 is the language of the future given its compatibility with mobile devices and ease of use. But before you check out our HTML5 tutorial, it’s important to first understand the benefits and drawbacks to the language. And that’s because, like any language, if you’re starting from scratch, the learning curve may be a bit steeper.

On one side, HTML5 can provide tremendous power for the experienced Web developer. For example, it is now possible to execute multiple processes in background threads for intense processing and network requests.

On the other, developers new to HTML5 can also find advantages like being able to embed video without having to employ third-party plug-ins. HTML5 will not affect the loading time of a Web page so there’s no reason not to start upgrading. These are just a few of the language’s benefits, which, once again, explains why it’s so popular with Web developers.

It’s also why, according to Forrester Research, almost 75 percent of North American internet users surf the Web on HTML5-compatible browsers!


 

(function(){
var s=’hubspotutk’,r,c=((r=new RegExp(‘(^|; )’+s+’=([^;]*)’).exec(document.cookie))?r[2]:”),w=window;w[s]=w[s]||c,
hsjs=document.createElement(“script”),el=document.getElementById(“hs-cta-c6aa8857-3e7e-4761-a672-02016ac3851d”);
hsjs.type = “text/javascript”;hsjs.async = true;
hsjs.src = “//cta-service-cms2.hubspot.com/cs/loader.js?pg=c6aa8857-3e7e-4761-a672-02016ac3851d&pid=153597&hsutk=” + encodeURIComponent(c);
(document.getElementsByTagName(“head”)[0]||document.getElementsByTagName(“body”)[0]).appendChild(hsjs);
try{el.style.visibility=”hidden”;}catch(err){}
setTimeout(function() {try{el.style.visibility=”visible”;}catch(err){}}, 2500);
})();

 

Using Line Joins with XAML

ldn-expertkgetz

In a recent article we discussed line caps, which alter the way you can draw lines. XAML provides one more alteration— line joins. All the shape classes except Line allow you to alter how their corners appear, using the StrokeLineJoin property. The property takes its value from the PenLineJoin enumeration, and can take on any of these values:

  • Miter uses sharp edges.
  • Bevel cuts off the pointed edge.
  • Round gently rounds out the corner.

The Figure below shows the sample page, LineJoin.xaml. This page displays fourversions of the same Polyline shape, changing only the StrokeLineJoin property for each.

In the Figure above, each item in the left column shows one of the StrokeLineJoinproperty values. As you can see, Miter, the default value, simply joins the lines. Bevel truncates the pointed edge, and Round rounds out the corners. The >markup for each Polyline looks like the following:

As shown in the first example, when you’re using mitered joins and the linesare thick with tight angles, the “point” on the corner can be extreme. To avoid this problem, you can also set the StrokeMiterLimit property. This property defines a limit on the ratio of the miter length (that is, the length of the “point”) to the half of the stroke thickness. This value must always be a positivenumber greater than or equal to 1. The larger the value, the longer the point can be. By default, there is no limit on this ratio;in the right-hand example in the first row in the Figure above, the markup sets the value to 1. Given a value of 1, the corner can only extend half the thickness of the line, giving the bottom corner a better look.

ldn-expertkgetzThis post is an excerpt from the online courseware for our Windows 8 Using XAML: Bindings, Shapes, and Animation course written by expert Ken Getz.

Ken Getz is a Visual Studio expert with over 25 years of experience as a successful developer and consultant. He is a nationally recognized author and speaker, as well as a featured instructor for LearnNowOnline.

What are the Most In-Demand IT Skills in 2013?

StartLearningButton

This recent article in ZDNet is a must-read for any IT professional looking for work or to beef up their resume. It lists the top “in-demand” skills for 2013, and some of the findings may surprise you.

That’s because despite the rise of big data and mobile computing, many traditional “evergreen” IT skills are still in demand. These skills include C#, ASP.NET, and PHP, which goes to show that there will continue to be a market for basic programming competencies.

That said, big data, mobile computing, and cloud computing are creating a demand for a set of newer skills, which in include virtualization and html5.

Of course, there inevitably will be some victims of this progress, and they include Flash and PHP, which while still in-demand, will quickly wane beyond 2013, according to the IT Job Board.

So if you seek to strengthen your traditional IT skills, check out our C# video course. If it’s next-generation skills you’re after, try our HTML5 tutorial.


 

(function(){
var s=’hubspotutk’,r,c=((r=new RegExp(‘(^|; )’+s+’=([^;]*)’).exec(document.cookie))?r[2]:”),w=window;w[s]=w[s]||c,
hsjs=document.createElement(“script”),el=document.getElementById(“hs-cta-c6aa8857-3e7e-4761-a672-02016ac3851d”);
hsjs.type = “text/javascript”;hsjs.async = true;
hsjs.src = “//cta-service-cms2.hubspot.com/cs/loader.js?pg=c6aa8857-3e7e-4761-a672-02016ac3851d&pid=153597&hsutk=” + encodeURIComponent(c);
(document.getElementsByTagName(“head”)[0]||document.getElementsByTagName(“body”)[0]).appendChild(hsjs);
try{el.style.visibility=”hidden”;}catch(err){}
setTimeout(function() {try{el.style.visibility=”visible”;}catch(err){}}, 2500);
})();

 

What Programming Language & IT Skills Will Support Our Mobile Future?

mobile-world4

2012 was the first year on record in which PC sales were lower than the previous year. That’s big news, as it signals a profound shift in modern computing away from the PC and towards mobile devices and smart phones.

So the future will be mobile. That isn’t exactly rocket science; the writing’s been on the wall for years now. But what’s really getting analysts and technology forecasters excited is how this development will play out in the programming world. The million dollar question is this: which language will consolidate its influence over mobile development?

Well, this article doesn’t pull any punches: the future will be written in HTML5. The research firm Strategy Analytics predicted that in 2013, HTML5 phone sales will explode: from over 330 million devices in 2011 to close to 1 billion in 2013. Manufacturers and customers are demanding a rich mobile experience across multiple platforms, and HTML5 is the candidate best equipped to do this.

So if you’re an intrepid IT programmer or job-hunter looking to make an intelligent bet on the future, perhaps an HTML5 tutorial is in order.