Search Sujata's Blogs

Showing posts with label Development Tools. Show all posts
Showing posts with label Development Tools. Show all posts

Tuesday, 28 October 2014

Microsoft Developer's Guide To Visual Studio & Visual Studio TFS - Sujata Computers Pvt Ltd

I and my team come across lot of start-ups as well as enterprise organization (500+ developers) having problems setting up an appropriate environment for developers. I will try and address some of the challenges that organizations face.

 

Challenge # 1: What edition of Visual Studio we should buy? And what are the licensing options?

There are mainly four editions in Visual studio that can be deployed on-premise, details as below -
Note that Testers get their own dedicated version - Visual Studio Test Professional


One-time Payment for License & 2 Years of MSDN Options -
Editions MSDN  Approximate Price
Professional (Pro) Optional INR 27,000 + MSDN Cost
Test Professional (Test Pro) Attached INR 1,38,000
Premium Attached INR 3,85,000
Ultimate Attached INR 8,35,000 

Note 1: Above given prices are exclusive of taxes and approximate price. Actual price may vary at the time of purchase.
Note 2: MSDN is valid for 2 years after which it is optional for customer to renew or not but it is recommended to renew MSDN to keep using its benefits.
Note 3: Above prices are for Open License (MOLP) which is one-time purchase cost. Price can split into 3 years and it will be different for Open Value License (OVL)

For details on what features are included in above mentioned editions, please visit: http://www.visualstudio.com/en-us/products/compare-visual-studio-products-vs.aspx 

You can also buy Visual Studio on a subscription basis or in cloud. Visual Studio Online is an offering for which customer can pay for subscription and can avoid one-time large capital investments into the project. At the moment (as of 24 Oct 2014), Microsoft offers Visual Studio Online only along with Azure subscription which can be bought separately or through MSDN. Details as below -
Pay-as-you-go Options   
Editions MSDN Max. users per account Approximate Price
Basic Optional Unlimited Free for the first 5 users. INR 1,201.75/month for additional users
Professional Optional 10 INR 2,703.94/month
Advanced Optional Unlimited INR 3,605.25/month
Note: Users with the following MSDN subscriptions can be added at no charge to the account. The maximum MSDN subscribers per account is unlimited across (Pro / Test Pro / Premium / Ultimate) MSDN subscription levels.

Visual Studio Express edition also comes at free of cost and comes with limited features. For more details on Visual Studio, contact Sujata Computers Pvt Ltd.

Challenge # 2: What is Microsoft Software Developer Network (MSDN) ? Which one is better from MSDN and TechNet?

Software, services, support, training - Visual Studio with MSDN subscriptions give you a wide range of resources that help you succeed as a developer on Microsoft platforms. With a huge library of both current and previous editions of Microsoft software, plus access to Microsoft’s ALM solution, you have the tools and information you need to support the entire development process.

TechNet license is discontinued by Microsoft in 2013 and anyway, TechNet used to offer applications only for evaluation purpose whereas MSDN offers applications for testing and development environment purpose. Obviously, MSDN helps developers and organizations better to support the software development process and make it easy.


Challenge # 3: We want split payment option or EMI option for Visual Studio as the cost of license is too high or our project has not yet been awarded to us by customer yet, can Sujata Computers Pvt Ltd help?
Please refer to challenge #1, you can either buy Visual Studio Online or Visual Studio under Open Value License. If you are ok to develop applications in cloud - you can opt for Visual Studio Online otherwise you should opt for Open Value License. If you have more than 20 or 200 users, please contact Sujata Computers Pvt Ltd as we can then give you other options as mentioned in Challenge #5.

Challenge # 4: We want to use old versions of Visual Studio - 2003, 2005 etc.
Customer can use all old versions of Visual Studio of the same edition for which customer owns genuine license, customer has to have setup files though. Customer can also use old versions of Team Foundation Server (TFS) if customer owns genuine license. For more details contact Sujata Computers Pvt Ltd.

Challenge # 5: We have more than 200-250+ desktop users of Dev Tools, will we get discounts from Microsoft? Please suggest appropriate licensing.
If you have more than 20 users license requirement, we can discuss licensing program called 'Enrolment Application Program' (EAP) and if you have more than 200-250+ users, we can discuss Enterprise Agreement. These program offers customer better manageability of licensing, better finance forecasting, price lock-in for few years, better discounts and overall better value against money.

Challenge # 6: How do we secure our code and intellectual property? How do we store code on a central repository?
Team Foundation Server (TFS) is a repository for development team assets -
  • Test Cases
  • Bug Reports
  • Work Items
  • Source Control
  • Work Flow
  • Progress Reports
You can configure TFS for your team located in different locations or at one location but working on a project where the data has to be stored in a central repository and has to be secured. For more information, visit here. Sujata Computers Pvt Ltd will help you configure TFS.

Licensing of Visual Studio Team Foundation Server (Indian Version) -
Microsoft licenses TFS under the Server/Client Access License (CAL) licensing model. You must have a license for each running instance of TFS and, with certain exceptions, a TFS CAL for each user or device that accesses it. TFS Server and Client both cost around INR 22,000 (as of Oct 2014).

Note - Team Foundation Server Express is available at no charge and provides small teams of up to five developers with source code control, work item tracking, and build automation for their software projects so they can deliver predictable results.


Benefits of MSDN -
  1. You get a lot of Microsoft applications to be used for development and testing purpose for free of cost. Depending on the edition of Visual Studio that you are buying, the applications vary. You can check the list of applications that you can use under different Visual Studio editions here - http://goo.gl/ne2DOa 
  2. You can upgrade your Visual Studio's version at a free of cost, if Microsoft launches any new version and your MSDN subscription is active.
  3. You can also downgrade or you can access to older versions of Visual Studio such as 2003, 2007 etc.
  4. Get an access to e-learning portal
  5. Get a support incident call to Microsoft worth around $500.
  6. Get limited free credits to Microsoft Azure
  7. Get access to Office 365 Developer Subscription
  8. Get training vouchers that you can redeem at any authorized Microsoft's training centers. Depending on number of licenses and type of licenses that you buy, you will get training vouchers. Contact Sujata Computers Pvt Ltd for Visual Studio and other developers' tools of Microsoft.
 And there are many more invaluable benefits you can get under MSDN.
  • Common misunderstanding - "We have all kinds of licenses under MSDN subscription and hence, we do not have to buy any licenses"
  • Fact - You may still need to buy licenses as MSDN is supposed to be used only for (temporary) development & testing environment purpose. It cannot be used as a substitute to purchase of license in production or general use. Also, It is to be used by only by one user as the MSDN subscription is for one user only.

Do you know that Microsoft maintains an open source web site called CodePlex? It's not as big as other open source sites, like SourceForge, but it has a lot of .NET projects available to download.

I will be writing about SQL and Win Server to help our readers to setup a error-proof software development environment.

Do you need expert advice on which Microsoft developer products to buy? Or do you need help to design and deploy software development architecture?

Contact Paresh Lodha - +91-7276000222 | paresh.lodha@sujataindia.com
or Hemant - hemant.bhagwat@sujataindia.com | sales@sujataindia.com

Saturday, 18 October 2014

Microsoft Development Tools: Mobile Apps for Web Developers





Mobile Apps for Web Developers

The path of a mobile app developer often begins with a choice: develop for iOS, Android or Windows? It’s a choice that instantly diminishes the size of your potential audience, but developers often hold their nose and reluctantly make a decision. Those who need to reach all three app stores, choose to rewrite the application for each platform.

Visual Studio enables you to have maximum reach while achieving significant code re-use. With Xamarin, C# developers can share business logic across iOS, Android, and Windows applications. With Apache Cordova, web developers can achieve maximal code re-use by building cross-platform mobile applications using HTML, CSS, and JavaScript.

In this post, we’ll take a close look at how you can use Visual Studio’s extension for Multi-Device Hybrid App Development to build a cross platform app using HTML, JS, and CSS. To follow along in the IDE:

•Download and install the extension on Visual Studio 2013 Pro Update 3, or…
•Try one of the trial VMs available on Azure.
Once you’ve installed the tools, create a project for “Multi-Device Hybrid Apps.”
 

Access Device Capabilities on any Platform Using the Same JS API

Before we explore the tools, let’s take a moment to look at the architecture of a Cordova app. The application itself is implemented as an HTML application (e.g. Single Page Application) hosted inside a webview control (or on Windows, as a WWA) that gives your app access to native device APIs. Most developers prefer to synchronize data with a server via RESTful web services (e.g. Azure Mobile Services), but all file assets like HTML, CSS, JS, and media are packaged with the application so that users can continue to use the app offline.

To access native device capabilities (e.g. camera, contacts, file system, accelerometer) from JavaScript, Cordova uses a construct called plugins. Plugins typically encapsulate two components: native code to invoke capabilities for each of the three platforms (i.e. Objective-C, Java and C#) and a normalized JavaScript API available for your app to use.

                                          

To use the API, you make an asynchronous call from within your JavaScript. The native code returns a response to the callback function. In the example below, the camera plugin returns the URI of a photo pointing to the file system on the mobile device.

// Retrieve image file location from the mobile device photo library
function getPhotoURI() { 
    navigator.camera.getPhoto(onPhotoSuccess, onPhotoFail, { 
        quality: 50, 
        destinationType: destinationType.FILE_URI, 
        sourceType: pictureSource.PHOTOLIBRARY 
    }); 
// Callback from successful Photo Library event

Designed to Converge with Web Standards
Cordova plugins are generally designed to expose JavaScript APIs that will converge with web standards over time. The goal is for the plugins to eventually evaporate leaving the implementations of the W3C standards in their place. For example, the Web API for activating device vibration, navigator.vibrate(time), is already implemented by Cordova, Chrome, and Firefox. Over time all the mobile devices and browsers will use the same API, thereby making plugins obsolete as a polyfill. The ultimate goal is for Cordova to serve as a temporary bridge until the standard web platform supports the device capability.
JavaScript or TypeScript: Your Choice
Once you get started, a large part of your time will be spent writing code. Whether it’s HTML, CSS, JavaScript or TypeScript, we aim to provide our developers with help in context for the task at hand. For example, many developers depend on IntelliSense to avoid common syntax errors and quickly explore new APIs. Would you like to know what native device capabilities are available to your app? Visual Studio’s Tools for Apache Cordova include IntelliSense support for common Cordova plugins using both JavaScript and TypeScript.

If you write a custom plugin, you might want to enable IntelliSense for your component as well. To support the common Cordova plugin APIs, we use a JavaScript IntelliSense extension for the JavaScript editor. For TypeScript, we simply wrote TypeScript d.ts files to describe each API. You can see the d.ts files in the public home for open source d.ts files: DefinitelyTyped. Each d.ts file provides the meta-data necessary to provide rock-solid, accurate IntelliSense for Cordova plugins without executing JavaScript code in the background.
Three Ways to Preview Your App
To gain the highest productivity benefit, most developers choose to use the same code - 95% or more - amongst all deployment targets: iOS, Android, and Windows.
Since most developers choose to deploy a single shared HTML/CSS/JS codebase to all platforms, it’s important to be sure your apps look and behave as expected across the platforms you care about. We made sure that previewing your app would be as painless and efficient as possible by providing three options to test your app: (1) a Chrome-based simulator called Ripple, (2) native emulators provided by the platform vendors, and (3) deployment to an actual tethered device.
Unless you’re an otherworldly developer who can get an app running perfectly without ever running it, you’ll eventually need to deploy and test it on a device or emulator for each platform. However, that’s not necessarily where you want to start. Our general guidance is as follows:

  1. For basic layout and early-stage debugging, use Ripple. Ripple is an open-source simulator that runs inside Chrome. Visual Studio automatically downloads and installs both Ripple and Chrome when you install our tools. Because Ripple uses Google’s V8 engine and blink-based rendering, it is ideal for simulating behavior on an iOS or Android device. Realistically, there are only a small number of substantial rendering differences between Chrome and IE11 these days, so it’s also a good proxy for Windows platforms. It’s nice to do your early development in Ripple because, quite frankly, it’s fast and familiar to web developers. Ripple benefits from all the CPU resources of your desktop and thousands of tiny performance optimizations designed to make desktop browsing snappy.
  2. For final validation and full-fidelity debugging, use a device. As much as we love to debug in the desktop browser, there are some minor, but significant differences between it and mobile browsers. Unfortunately, tiny differences in CSS rendering or JavaScript interpretation can have a big impact, so it’s important to test your app on the real thing. The real source of truth will always be the device. Using the native build systems (i.e. Xcode, the Android and Windows SDKs), Visual Studio can build and deploy to devices tethered to your dev machine via USB.
  3. If a device isn’t available, use an emulator. Given the range of devices and platform versions out there — especially Android versions — it’s not always possible to have a complete library of test devices. In our office, we keep a small library of representative devices including: iPods running iOS7-8, a Samsung Galaxy running Android 4.0, a Nexus 7 running Android 4.4, a Nokia 1520 running Windows Phone 8.1 and our dev machines running Windows 8.1. For everything else, we use an emulator.
 Blog by Hemant Bhagwat





Saturday, 11 October 2014

Microsoft Visual Studio Development Tool Software




 






We Sujata Computers Pvt Ltd. are specialized partner for Microsoft Visual Studio Development Tool:-
Visual Studio is a complete set of development tools for building ASP.NET Web applications, XML Web Services, desktop applications, and mobile applications. Visual Basic, Visual C#, and Visual C++ all use the same integrated development environment (IDE), which enables tool sharing and eases the creation of mixed-language solutions. In addition, these languages use the functionality of the .NET Framework, which provides access to key technologies that simplify the development of ASP Web applications and XML Web Services Application Migration, like fire fox to asp.net. .
It is used to develop console and graphical user interface applications along with Windows Forms or WPF applications, web sites, web applications, and web services in both native code together with managed code for all platforms supported by Microsoft Windows, Windows Mobile, Windows CE, .NET Framework, .NET Compact Framework and Microsoft Silverlight.
Microsoft Visual Studio Available in four different flavours as mention below:-
VS Ultimate with MSDN
VS Premium with MSDN
VS Professional with MSDN
VS Test Pro with MSDN
Microsoft Visual Studio Capabilities:-
What can you really do with Visual Studio? Following are some of the various applications that can be built using Visual Studio.
  • Console applications: These applications run from the command line and do not include a graphical interface, but are great for small tools or anything that will be run by another application.
  • Windows forms applications: These are Windows desktop applications written using the .NET framework; since they are .NET applications, they require that the .NET framework be on any computer that will run the application.
  • Windows services: Services are applications that run in the background while your computer is running. These are usually applications that will have to perform scheduled tasks or handle continuous network requests.
  • ASP.NET applications: ASP.NET is a powerful technology that is used to create dynamic web applications, often driven by a database. Many popular websites are written using ASP.NET, including those of e-commerce giants like Dell.
  • ASP.NET web services: ASP.NET provides a complete web services model that allows you to quickly and easily create web services.
  • Windows Mobile applications: Windows Mobile applications can run on devices that include the Compact framework; these include Pocket PC devices, as well as cell phones running the Microsoft Smartphone platform.
  • MFC/ATL/Win32 applications: You can also still create traditional MFC, ATL, or Win32 applications using C++. These applications do not need the .NET runtime to run, but also don't include many of the benefits of working with the .NET framework.
  • Visual Studio add-ins: That's right, you can use Visual Studio to write new functionality to be added into Visual Studio.
  • And more: Visual Studio also includes projects to deploy your application, work with databases, create reports, and more.
ll\pVisual Studio provides an extensible model for adding new projects to Visual Studio; many other Microsoft applications now integrate directly into the IDE. Some of the most common include SQL Server Reporting Services and Visual Studio Tools for Office.
Microsoft Visual Studio Features:-
All of the above applications could be written using another IDE or some combination of freely available SDKs and your favourite text editor, so why would you pay for Visual Studio? Visual Studio is dedicated to making your development life easier through time-saving and convenient features; here are some of the most compelling of those features.
  • IntelliSense: IntelliSense is the trademark feature of Visual Studio. IntelliSense simply helps you while programming by showing you the available classes and the methods and properties available on those classes. Can't remember what the name of that class, method, or property is? No worries, IntelliSense will help out.
  • Designers: Visual Studio includes visual WSYIWYG designers for Windows applications, ASP.NET applications, and Windows Mobile applications. These designers make it much easier to get your application looking just right.
  • Debugging: One of the most important features of Visual Studio is the ability to step through your application line by line as it is executing. Not sure why you are getting an error? Simply walk through and see exactly what is going wrong.
  • Organization: Visual Studio is built for developing applications, so it provides intuitive methods for organizing your various code files into projects and your various projects into solutions.
Visual Studio includes way too many features to be listed here; even most seasoned developers don't make use of all of the various features available in Visual Studio.


FOR ANY QUERIES PLEASE CONTACT ME ON hemant.bhagwat@sujataindia.com or +919850362300

Thanks
Hemant Bhagwat
Sujata Computers Pvt Ltd