New Feature: Playlist Center! Pick a topic and let our playlists guide the way.

Learn it fast with expert-taught software and skills training at lynda.com. See what you can learn

By David Gassner | Thursday, July 10, 2014

Installing PHP on Windows

installing_php

The Windows packaging of PHP has changed since my course Installing Apache, MySQL and PHP was last updated, and could affect your installation should you choose to install separate components. No fear—you should be able to correct the problem by creating a new version of your php.ini file. Here’s a solution for installing PHP on Windows that works on my system.

By David Gassner | Wednesday, April 11, 2012

Building applications for Microsoft operating systems

We recently released Silverlight 5 Essential Training, with Walt Ritscher. If you’re new to Silverlight, check out this overview of the plug-in from chapter one of the course:

If you’re a developer who’s interested in working with Microsoft operating systems such as Windows 7, Windows Phone, or the upcoming Windows 8, you might wonder why this course might be important. After all, Silverlight, like Adobe’s Flash Player, is a web browser plug-in. You should be interested because many mobile devices, such as the iPhone or iPad, can’t display content built for these technologies, and Microsoft has made it clear that Silverlight apps won’t  be able to run across all modes of Internet Explorer when Windows 8 is delivered.

Fortunately, the skills you have acquired to build Silverlight applications are directly transferable to some new and important application platforms. Silverlight applications are created with a combination of XAML (eXtensible Application Markup Language) and your choice of either C#, or Visual Basic. (In his Silverlight 5 Essential Training course, Walt Ritscher focuses exclusively on C#, since it’s the more popular of the two languages.) Wondering how it all ties together? The same languages—XAML, C#, and Visual Basic—are all at the core of Microsoft’s developer platforms of the future: Windows Phone and Windows 8.

Consider the following XAML code snippet that declares a page control in a Silverlight application:

<usercontrol x:class="”SilverlightApp.MainPage”" xmlns="”http://schemas.microsoft.com/winfx/2006/xaml/presentation”" xmlns:x="”http://schemas.microsoft.com/winfx/2006/xaml”" …more="" xml="" namespaces…="" mc:ignorable="”d”" d:designheight="”300?" d:designwidth="”400?">
  <grid x:name="”LayoutRoot”" background="”White”" width="”300?" height="”200?">    
    <textblock height="”23?" horizontalalignment="”Left”" margin="”10,10,0,0?" text="”Hello" world”="" verticalalignment="”Top”"></textblock>
  </grid>
</usercontrol>

The code in bold font defines the layout and presentation of a single line of text: “Hello World.” Now here’s a page control for a Windows 8 Metro app; notice that the bolded code looks almost exactly the same:

pre class=’line-numbers’ data-line=’6-8'><page x:class="Win8App.MainPage"></page><br> xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"<br> xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"<br> ...more XML namespaces...<br> mc:Ignorable="d"><br> <grid background="{StaticResource ApplicationPageBackgroundBrush}><br /> <TextBlock HorizontalAlignment=" left"="" margin="10,10,0,0" textwrapping="Wrap" text="Hello World!" verticalalignment="Top" fontsize="36"></grid><br> <br>

And here’s a page control for Windows Phone:

<phone:phoneapplicationpage x:class="PhoneApp.MainPage" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" ...more="" xml="" namespaces="" and="" properties...="">
*  <grid x:name="ContentPanel" grid.row="1" margin="12,0,12,0">
*  <textblock height="30" horizontalalignment="Left" margin="10,10,0,0" *=""   text="Hello World" verticalalignment="Top"></textblock>
*  </grid>
</phone:phoneapplicationpage>

These component definitions are all built with XAML, and use pretty much the same syntax to display text on the screen. They have different root elements: UserControl for Silverlight, Page for Windows 8, and PhoneApplicationPage for Windows Phone. But they all support the same basic set of visual controls such as Grid and TextBlock, and they all use “code-behind” architecture to bind logic written in C# or Visual Basic to visual presentation defined in XAML.

The bottom line is, you can’t just move an existing Silverlight or Windows Phone application to Windows 8 and expect it to work. The underlying technologies are different, and there are differences between the application programming interfaces (APIs) for the different operating systems. You’ll have to “port your application," a process that involves creating new code files and copying selected portions of code to the new version of the application. You’ll probably also have to re-imagine the user interface for the new target OS, since applications written for a browser have different layout guidelines from those on a phone or tablet, or those designed to run full-screen in high resolution as they might on a Windows 8 desktop. If you already know how to use XAML and other .NET programming languages, learning how to build Windows 8 apps will be much faster and easier.

In this video from chapter three of the Silverlight 5 course, Walt explores the programming side of Silverlight 5 and discusses the relationship between XAML and .NET:

In the near future, we’ll be releasing courses on both Windows Phone and Windows 8 application development. If you want to learn some of the skills you’ll need right now, Walt Ritscher’s Silverlight 5 Essential Training course is a good place to start, along with his Visual Studio 2010 Essential Training, and Joe Marini’s C# Essential Training. You can use Microsoft’s free express versions of Visual Studio or a full copy of Visual Studio as your development environment. When you're ready to get started with Windows 8, which is currently available as a free Consumer Preview, you can use a Beta version of Visual Studio that lets you build your first Metro apps right away.

Microsoft has put a lot of effort into making development skills and programming languages transferable across their multiple operating systems and application platforms; these efforts make it easier to learn, and easier to build applications for, their current and future technologies.

Interested in more?

Suggested courses to watch next:

By David Gassner | Monday, March 05, 2012

All about Branden Hall, interactive architect and digital maker

This week we celebrated the release of a new series entitled Branden Hall: Interactive Architect and Digital Maker. The series features an in-depth interview that lynda.com co-founder Lynda Weinman conducted with Branden last year, along with a tour of some of Branden’s most interesting work.

So who is Branden Hall, and why did we think it was important to talk with him?

     • Branden has been associated with lynda.com for a long time, having been a featured speaker at many of the early Flash Forward conferences. This photo is from the 2004 conference in San Francisco. Notice the exciting technological advance that Branden was describing: the transition from ActionScript 1 to ActionScript 2!

     • Branden has long been a thought leader in the use of digital technologies, including, and perhaps especially, Flash. Along with some other young developers and designers, he was responsible for exploring what Flash was able to do in its early years, beyond even what Macromedia originally envisioned.

     • Along with Joshua Davis, he was one of the guys who gave IBM’s Watson the animated “face” that “he” uses to celebrate “his” defeat of human Jeopardy! opponents. When Watson’s face moves and changes, it’s because of the team of programmers and designers who made it do that.

     • As the web has evolved, Branden’s work has evolved with it. His Endless Mural project shows how combining the web with new technologies like HTML5 can create crowd-sourced art collections that are available to all.

Over the years, Branden has led the way in showing how technologies like Flash and HTML5 can be used in innovative and exciting ways. In this mini-documentary, Branden gets to tell us a bit about how he comes to his ideas and how they’re realized. I could go on and tell you more, but this video series lets Branden tell you about it himself. We hope you enjoy it.

Interested in more? • The fullBranden Hall: Interactive Architect and Digital Maker segment• All developer courses on lynda.com

Suggested courses to watch next:Flash Professional CS5 Essential TrainingBuilding Mobile Apps for Multiple Devices with Flash ProfessionalHTML5 First LookHTML5: Messaging and Communications in DepthBig Spaceship, Digital Creative Agency

By David Gassner | Wednesday, February 15, 2012

13 courses to help you learn HTML5 on lynda.com

Recently I’ve been asked by some very influential people why lynda.com hasn’t published an HTML5 essential training course yet. Isn’t HTML5 an enormously important topic? Isn’t HTML5 at the core of how the web is being transformed and adapted to the new reality of modern web browsers on desktops, cell phones, and tablets? Isn’t HTML5 changing how rich media (audio and video) is delivered on the Internet? And isn’t HTML5 on its way to replacing web browser plugins such as Flash Player and Silverlight that we’ve depended on for many years? (Whether HTML5 will completely replace the plugins on the web, and how long it will take, is a matter of debate—but that’s for another discussion and another day.)

How could lynda.com have ignored this critical topic? If lynda.com is such a forward-looking educational company, how could we have missed this tectonic shift in the web development landscape??

No worries; we didn’t miss the boat. Simply put, we decided last year that HTML5 was too large a subject to cover in a single course. HTML5 isn’t a single technology; it’s an umbrella term that’s used by the W3C (the Worldwide Web Consortium, a standards-setting body in Switzerland that’s theoretically in charge of how the web works) to describe a set of specifications that let you manage all sorts of things in a web page or application with relatively simple code. (These specifications include both HTML tags and a set of powerful JavaScript APIs.)

We broke down the subject into a series of courses, each taught by an instructor who was able to specialize in one or more aspects of HTML5, and started publishing the courses in mid-2011. We then continued periodically releasing these smaller, focused courses with a new deep dive into some aspect of HTML5 until the last of the 13-course series was released in January 2012, declaring our first pass at coverage of HTML5 to be officially complete. And so, this seems like a good time to review what we’ve created.

If you’re just getting started with HTML5, you might first watch HTML5 First Look taught by lynda.com senior staff author James Williamson. In this course, James offers a birds-eye view of the purpose and usage of HTML5, and includes invaluable references to sites and other resources you can use to keep up with HTML5’s ongoing evolution.

For your first hands-on course, I suggest HTML5: Structure, Syntax and Semantics, also taught by James Williamson. Here, you’ll see how basic HTML code looks, and how to set the stage for all the fun stuff you’ll learn to do later.

From there you can sample a broad array of juicy HTML5 dishes. Each of the remaining courses focuses on a single aspect of HTML5, and you can watch them in any order. To animate your pages, watch HTML5: Graphics and Animation with Canvas taught by Joe Marini. To add drag and drop interactions, look at HTML5: Drag and Drop in Depth taught by Bill Weinman. And for rich media, check out HTML5: Video and Audio in Depth taught by Steve Heffernan.

Want to work with advanced data entry forms (HTML5: Web Forms in Depth) or in-line document editing (HTML5: Document Editing in Depth)? We’ve got that. How about network communications (HTML5: Messaging and Communications in Depth), multi-threading (HTML5: Background Processes with Web Workers), working with the user’s physical location (HTML5: Geolocation in Depth), managing browser history (HTML5: Managing Browser History), or working with local databases (HTML5: Local Storage and Offline Applications in Depth) and text files (HTML5: File API in Depth). Yes, we’ve got all that too.

The 13 courses in this series cover nearly all aspects of the HTML5 specifications. By designing the courses in this modular fashion, we’ve hopefully made it easier for you to find and learn the specific skills you need to satisfy the needs of your web project, your job, or your curiosity. Taken together, they’re the equivalent of a single master-class in HTML5 development—essentially, “HTML5 Essential Training” from lynda.com.

And as we promised when the series was launched, we’re keeping an eye on the evolution of both the HTML5 specs and and how the web browsers implement them. When we see significant changes, we’ll update these courses with the latest information.

So no, we didn’t fall asleep at the switch. HTML5 is a fast-moving set of technologies, and we’ll keep on doing what’s needed to help you incorporate the latest technologies into your web sites and applications.

What HTML5 courses will you add to your lynda.com queue first?

Interested in more? • All developer courses on lynda.com • All courses from David Gassner on lynda.com

Suggested courses to watch next:HTML5 First LookDreamweaver CS5: Getting Started with HTML5iOS 4 Web Applications with HTML5 and CSS3HTML5: Local Storage and Offline Applications in DepthHTML5: Graphics and Animation with Canvas

By David Gassner | Wednesday, January 18, 2012

Getting started as a programmer and what language to learn first

It scares me to say this, but I’ve just celebrated a big anniversary: I’ve been a software developer for 25 years. My first programming language was something called PAL. It stood for Paradox Application Language, and was a part of Paradox, a popular DOS-based database application that was in many ways the Microsoft Access of its time. Over the ensuing years, I’ve learned and forgotten many languages as I moved into different areas of the software development world. But I found that each language was progressively easier to learn. Once I understood the fundamentals, I was able to apply lessons learned so far to the new challenges facing me.

No one was around in the beginning to tell me that programming was difficult. I had some work I needed to do, and with the help of sample code and tutorials, I figured out how to do it. It was only later that I learned how intimidating programming sounds to some folks. But it doesn’t have to be painful at all, and I believe that by finding and using the right learning resources, and moving forward in small incremental steps, anyone can learn to code.

We’ve been hearing from our members for the last few years that programming has become more important to you, and so in 2011 we responded by publishing a series of courses on some of the world’s most popular programming languages. In this post, I’m going to describe what you need to know to get started as a programmer and how to select a first programming language to learn.

If you’ve never done a lick of programming, you might want to start with lynda.com staff author Simon Allardice’s course Foundations of Programming: Fundamentals. As in many industries, software developers have their own lingo. Words like statement, function, method, and property have very specific meanings, and some of these meanings can differ from one language to the next. Simon explains the language of languages, and compares many of the most popular programming languages with each other. Examples are provided in JavaScript, Java, C#, and many others.

The next step is to choose your first language. Which language you choose will depend largely on what you want to accomplish. You might use one language for building web pages, another for creating applications designed for cell phones and tablets, and so on.

The most popular programming language course in the Online Training Library® is, unsurprisingly, the most recent edition of our ever-popular JavaScript Essential Training, also authored by Simon Allardice. JavaScript is so popular because it’s the programming language of the modern web. It’s the language that “glues” other web technologies together, such as HTML and CSS. It’s supported in all modern browsers, and is at the core of many popular web frameworks such as jQuery. Looking beyond the browser, JavaScript is also used in many other software development environments, including Titanium, a set of tools for building cross-platform mobile applications, Node.js, a recent entry in the world of server-side web application development, and Unity, a package that enables building games for many platforms.

If you want to build native apps for mobile devices, you might choose Objective-C to build apps for iPhone and iPad. Objective-C Essential Training will help you get started, and then you can move on to our other courses on building apps for the iOS operating system. Java Essential Training with David Gassner (yes, that’s me) teaches the language that’s used to build native apps for Android and BlackBerry devices, and C# Essential Training with Joe Marini will help you get started with building Silverlight and XNA apps for Windows Phone 7. And once you learn either Java or C#, you’ll be able to build not just mobile apps, but also applications for the web (client- and server-side) and much more.

In addition to the courses we added in 2011, the Online Training Library® offers lessons on other languages that you can use for a variety of tasks. These include tutorials on Perl and Python with Bill Weinman, PHP and Ruby with Kevin Skoglund, and one of my own personal favorites, ColdFusion Markup Language with David Gassner (me again).

So regardless of which language you want to learn, you should be able to find some valuable tools in the Online Training Library® to help you get started. I really believe that if you have something you want to accomplish that requires a bit of programming, you can learn it. That’s lynda.com’s new motto, and it absolutely applies to the world of software development.

Interested in more? • All developer courses on lynda.com • All courses from David Gassner on lynda.com

Suggested courses to watch next:Foundations of Programming: FundamentalsJavaScript Essential Training (2011)Objective-C Essential TrainingC# Essential TrainingJava Essential Training

By David Gassner | Friday, June 03, 2011

Talking HTML5: Graphics and Animation with Canvas with Joe Marini

To round out our week of HTML5 content, today we’re releasing Joe Marini’s new course, HTML5: Graphics and Animation with Canvas. Joe also created HTML5: Web Forms in Depth, which we released on Tuesday, and has created many other lynda.com courses on web development subjects. Here’s what he had to say:

Q: What got you interested in HTML5?A: The new scenarios that it unlocks. The web is marching inexorably toward being a true distributed application platform, and HTML5 is another milestone in that progress. Already we’re seeing web sites take advantage of the new features, and I think that’s great.

Q: Where do you get your information about HTML5?A: I usually go straight to the source—either the W3C or the WHATWG specifications. Other than that, I try to keep up with the various vendor-related web sites that document what they are doing in their specific browsers. There’s so much to keep up on, I created a tab group in Internet Explorer just focused on these sites. I typically visit each one of the sites in the group once a week or so.

Q: What are some of your favorite HTML5-oriented web sites or blogs?A: Well, I document what we’re doing in IE Mobile on the Windows Phone Developer Blog , but I read most of the other vendors’ blogs as well. I also keep up on what the other authors are doing here on lynda.com as well. There are some really great example sites out there too—html5demos.com and the IE Test Drive are some of my favorites.

Q: What is your favorite gadget? What do you wish you owned?A: My Windows Phone 7. But I really wish I owned a Light Saber or maybe a cloak of invisibility.

Q: What’s one thing you’d love to see in future web technologies?A: Being able to build applications that push outside the boundaries of the traditional browser. That will really enable some great scenarios and allow developers to broadly expand the kinds of applications that they can create.

By David Gassner | Wednesday, June 01, 2011

Bill Weinman discusses HTML5: Local Storage and Offline Applications in Depth

The latest course in our series on HTML5, HTML5: Local Storage and Offline Applications in Depth, is all about local storage: using the new features being implemented in modern web browsers that enable saving and managing data on a local client, whether it’s a desktop computer or mobile device. Author Bill Weinman has created many courses for lynda.com on web, database, and mobile application development subjects. Here are his thoughts on HTML5.

Q: What got you interested in HTML5?

By David Gassner | Friday, September 10, 2010

Apple now permits third party development tools for iPhone and iPad

In a press release dated September 9, 2010, Apple Inc. announced that they are lifting restrictions they’d put in place earlier this year on which tools developers could use to create iOS apps for distribution in the Apple App Store.

A bit of background: Earlier this year, Apple changed the license for members of the iOS Developers Program (then known as the iPhone Developers Program), restricting developers from using anything other than Apple’s Xcode development tools and a small set of languages that included Objective-C and C++. This had an immediate impact on Adobe Systems and its Flash developer community; Adobe had created the Packager for iPhone, which supports compilation of Flash presentations into native iOS apps. Adobe Flash Professional CS5 was released with the feature intact, but it was suddenly clear that Flash developers who created iOS apps with this workflow would not have their applications accepted by Apple for distribution in their App Store.

That’s now changed. Developers using Flash and other tools for iOS app development (such as Novell’s Monotouch, Appcelerator’s Titanium, and the open source Phonegap) are now assured that their apps will be considered for inclusion in the App Store on an equal basis with apps built with Xcode and Objective-C. The developer licensing agreement, which previously set the restrictions on tools and languages, now simply says:

3.3.2 An Application may not download or install executable code.  Interpreted code may only be used in an Application if all scripts, code and interpreters are packaged in the Application and not downloaded. The only exception to the foregoing is scripts and code downloaded and run by Apple’s built-in WebKit framework.

This means that Adobe Flash Player still won’t appear on the iPhone and iPad, since it requires downloading executable code at runtime. That’s a separate issue that isn’t addressed by this licensing change. But applications that are compiled prior to posting in the App Store can now be built with the language and development tool of your choice. And we believe that choice is good!

In response, we’re revisiting our plans for offering training on using Flash Professional CS5 to create apps for iOS devices (iPhone, iPad and iPod Touch). Content we’d already created forFlash Professional CS5 Essential Training, but didn’t include in the course’s initial release due to Apple’s licensing restrictions, will be added back into the course within a few days (check back frequently if you’re an Online Training Library® member). And if we hear from you, our members, that you want training in other development tools for iOS such as Monotouch, Titanium and Phonegap, we’ll seek out the best industry experts to create new courses.

Get the latest news

  •   New course releases
  •   Pro tips and tricks
  •   News and updates
  
New releases submit clicked

You can change your email preferences at any time. We will never sell your email. More info

Featured articles

A lynda.com membership includes:

Unlimited access to thousands of courses in our library
Certificates of completion
New courses added every week (almost every day!)
Course history to track your progress
Downloadable practice files
Playlists and bookmarks to organize your learning
Become a member

Thanks for signing up.

We’ll send you a confirmation email shortly.


Sign up and receive emails about lynda.com and our online training library:

Here’s our privacy policy with more details about how we handle your information.

Keep up with news, tips, and latest courses with emails from lynda.com.

Sign up and receive emails about lynda.com and our online training library:

Here’s our privacy policy with more details about how we handle your information.

   
submit Lightbox submit clicked
Terms and conditions of use

We've updated our terms and conditions (now called terms of service).Go
Review and accept our updated terms of service.