Monday, August 10, 2015

VISUAL STUDIO 2015


Welcome to Visual Studio! We’ve got everything you need to create great apps for devices or desktop apps, for the web and in the cloud. Write code for iOS, Android, and Windows in one IDE. Get great IntelliSense, easy code navigation, fast builds, and quick deployment. Visual Studio increases your productivity and makes it easy to do your work alone or as part of a larger team.

Download Visual Studio Community for free to start coding right away. If you want to do cross-platform development, make sure that you install the optional packages. (You can get more features with other editions of Visual Studio.)

Jump right in, create a new project, and start writing code. Choose the type of app you want to create. Or you can take a tour of the Visual Studio IDE to get familiar with the tools.

And don’t forget to explore our code gallery to find samples to help you write your app more quickly!
 Extend Visual Studio

Add your own Visual Studio extension to include a tool or script that you often use while coding. You can create custom menu items and tool windows to integrate your own tools into the Visual Studio IDE. You can extend the Visual Studio editor to analyze and fix code, or add a new project type to include just what you need.

To find the latest version of the Visual Studio Extensibility Tools (VS SDK), see Visual Studio SDK.

You can use the .NET Compiler Platform (Roslyn) to write your own code analyzers and code generators. Find everything you need at Roslyn.

Find existing extensions for the VS IDE created by Microsoft developers as well as our development community.
Build apps for Android, iOS, and Windows

You can use Visual Studio to build apps for Android, iOS, and Windows devices. Learn more about it at Cross-Platform Development in Visual Studio.

For information about Universal Windows Apps (UWP), see Universal Windows Apps.

Choose the tools you need based on your app requirements and the language you want to use.

    Xamarin for Visual Studio: A common code base in C# for all devices

    Apache Cordova with Visual Studio: A common code base for HTML, CSS, and JavaScript or Typescript

    Visual Studio Tools for Unity: 2D/3D game development in C#

    C++ for Cross-Platform Development: Shared code libraries and apps in C++

    Visual Studio Emulator for Android : Visual Studio Emulator for Android: Debug and test your Android apps no matter the IDE

Sunday, August 9, 2015

HOW DEBUGGER WORK IN PROGRAMMING


A debugger or debugging tool is a computer program that is used to test and debug other programs (the "target" program). The code to be examined might alternatively be running on an instruction set simulator (ISS), a technique that allows great power in its ability to halt when specific conditions are encountered but which will typically be somewhat slower than executing the code directly on the appropriate (or the same) processor. Some debuggers offer two modes of operation—full or partial simulation—to limit this impact.

 a debugging interface that allows debuggers and IDEs to debug managed code can do four main kinds of things (plus other things in support of these) to help you catch bugs in the act:
  • Start your program, specifying anything that might affect its behavior.
  • Make your program stop on specified conditions.
  • Examine what has happened, when your program has stopped.
  • Change things in your program, so you can experiment with correcting the effects of one bug and go on to learn about another. 

Friday, August 7, 2015

HTML5, Hybrid or Native Mobile App Development

Intro
Many organizations taking their first steps to implement a mobile strategy are facing an important decision that will influence the results of this initiative. The process of choosing a development approach for a mobile application, namely native, web or hybrid, entails many parameters such as budget, project timeframe, target audience and application functionality to name a few. Each approach carries inherent benefits and limitations, and finding the one that best addresses the organization’s needs could be a challenging task.
The purpose of this whitepaper is not to identify the best development approach, as such does not exist, but rather to list the pros and cons each carries and describe the different scenarios, or enterprise requirements, that best fit one or the other.

Introducing the Approaches
Native Applications
Native applications have binary executable files that are downloaded directly to the device and stored locally. The installation process can be initiated by the user, or in some cases, by the IT department of the organization. The most popular way to download a native app is by visiting an application store such as Apple’s App Store, Android’s Marketplace, or BlackBerry’s App World, but other methods exist and are sometimes provided by the mobile vendor.
Once the app has been installed on the device, the user launches it like any other service the device offers. Upon initialization, the native app interfaces directly with the mobile operating system, without any intermediary or container. The native app is free to access all of the APIs that are made available by the OS vendor and, in many cases, has a unique look and feel that is typical of that specific mobile OS.
To create a native app, developers must write the source code (in human-readable form) and create additional resources such images, audio segments and various OS-specific declaration files. Using tools provided by the OS vendor, the source code is compiled (and sometimes also linked) in order to create
an executable in binary form that can be packaged along with the rest of the resources and made ready for distribution.
These tools, as well as other utilities and files, are normally called the SDK of the mobile OS. Although the development process is often similar across different operating systems, the SDK is platform-specific and each mobile OS comes with its own unique tools. The following table presents the different tools, languages, formats and distribution channels associated with the leading mobile operating systems.
These differences across platforms result in one of the most critical disadvantages of the native development approach – code written for one mobile platform cannot be used on another, making the development and maintenance of native apps for multiple OSs a very long and expensive undertaking.
So why is it that in spite of this costly disadvantage, many companies choose to develop natively? To answer that question we will need to better understand the role of the APIs.