Visual Studio for Mac is a new member of the Visual Studio family for mobile-first, cloud-first development. This video preview shows how to get started with Visual Studio for Mac and explores its. One of the most common scenarios in application development is to display data from a database on a Windows Form. You can display data on forms in Windows applications by dragging items from the Data Sources Window onto your form. This walkthrough demonstrates how to create an application that displays data from two related tables in a database.
Watch: Setting up your IDE
Watch: Tips & Tricks
Watch: Opening a project from Source
Install only the tool and component bundles you need for development in Visual Studio
ASP.NET & web development
Build web applications using ASP.NET Core, ASP.NET (.NET Framework), HTML/JavaScript, and Containers including Docker support
Description
Maximize your productivity developing .NET web applications using ASP.NET Core, standards-based technologies like HTML, and JavaScript.
Development applications
– Website using Razor Pages in ASP.NET Core
– Web API with ASP.NET Core MVC
– Real-time web apps with ASP.NET Core SignalR
Components
– .NET Framework 4.x development tools
– .NET Core 2.1 development tools
– ASP.NET and web development tools
– .NET profiling tools
– Container development tools
– Cloud tools for web development
– IntelliSense, code navigation, and refactoring for C#, Visual Basic, and F#
Azure
Azure SDKs, tools, and projects for developing cloud apps, creating resources, and building Containers including Docker support
Description
Easily build, test, deploy, and manage scalable apps and services on the Microsoft cloud. Install to view resources in Cloud Explorer, create resources using Azure Manage tools, build applications for Azure Web and Cloud Services, and perform big data operations using Azure Datalake tools.
Development applications
– Publish an ASP.NET Core app to Azure in the IDE
– Test performance of a cloud service
– Debug a published Azure cloud service
Components
– Azure development prerequisites
– .NET Framework 4.x development tools
– .NET Core 2.1 development tools
– ASP.NET and web development tools
– Container development tools
Python
Editing, debugging, interactive development, and source control for Python
Description
Support for building Python web applications using familiar frameworks including Django and Flask, and Data Science applications with built-in Conda and IPython support.
Development applications
– Python applications
– Django web apps
– Flask web apps
Components
– Support for CPython, virtualenv, venv, and conda environments
– Rich editing, IntelliSense, and code comprehension
– Interactive (REPL) environment window
– Support for Python in open folder workspaces
– Project and item templates to simplify new project creating process
– Profiling and unit testing tools
– Manage Conda environments using Miniconda
– Live Share
Node.js development
Build fast and scalable applications using Node.js, a server-side JavaScript runtime environment
Description
Easily build Node.js applications using web frameworks like Express and front-end frameworks like React.
Development applications
– Node.js app with Express
– Node.js app with React
– Publish Node.js app to Azure cloud
Components
– Project templates
– IntelliCode
– npm integration
– Interactive (REPL) environment window
– Local and remote advanced debugging
– Profiling tools to track performance
– Unit testing support
– TypeScript integration
.NET desktop development
Build WPF, Windows Forms, and console applications using C#, Visual Basic, and F#
Description
Create Windows-based applications by using Windows Presentation Foundation or by using Windows Forms. Also create web applications using the .NET Framework, and client applications for computers or devices that you make available through the Microsoft Store.
Development applications
– Windows Presentation Foundation (WPF)
– Windows Forms
Components
– .NET desktop development tools
– .NET Framework 4.x development tools
– .NET profiling tools
– C# and Visual Basic language support
– Entity Framework 6 tools
– IntelliTrace
– Just-In-Time debugger
– Live Unit Testing
– Live Share
Desktop development with C++
Build modern C++ apps for Windows using the tools of your choice, including MSVC, Clang, CMake, or MS Build
Description
C++ desktop apps run in a console or in a window. Take advantage of the powerful MSVC compiler and libraries toolset or bring your own build tools to do the job.
Development applications
– Traditional Windows Desktop applications using C++
– Windows console applications using C++
Components
– MSVC x64/x86 build tools
– Visual C++ core desktop features
– C++ profiling tools
– Windows 10 SDK
– C++ CMake tools for Windows
– Test adapter for Google Test
– Test adapter for Boost.Test
– IntelliTrace
– Just-In-Time debugger
– Live Share
UWP development
Create applications for the Universal Windows Platform with C#, VB, or optionally C++
Description
Build applications that target Windows Desktop, Xbox, HoloLens, SurfaceHub, and even Windows 10 IoT.
Development applications
– Universal Windows Platform (UWP)
Components
– Blend for Visual Studio
– .NET Native and .NET Standard
– NuGet package manager
– Universal Windows Platform tools
– Windows 10 SDK
Mobile development with .NET
Build cross-platform applications for iOS, Android, or Windows using Xamarin
Description
Build fully-native iOS, Android, and Universal Windows Platform apps using C# and XAML. Xamarin gives you full access to platform APIs and features using a single language and allows you to have a shared codebase with other .NET platforms.
Development applications
– Build cross-platform apps using Xamarin.Forms
– Access native features with the Xamarin.Essentials API
Components
– Xamarin
– .NET Framework4.x development tools
– C# and Visual Basic language support
– Android SDK setup
Mobile development with C++
Build cross-platform C++ apps for iOS or Android
Development applications
– Android Native App
– Import an XCode Project
– OpenGL ES application on Android and iOS
Components
– Visual Studio C++ core features
– Android SDK setup
– Android NDK
– Apache Ant
– C++ Android development tools
Game development with Unity
Create 2D and 3D games with Unity, a powerful cross-platform development environment
Description
Create games and interactive content and publish to 21 platforms, including all mobile platforms, WebGL, Mac, PC and Linux desktop, web or consoles.
Development applications
Develop Unity games with a premium debugging experience
Components
– Visual Studio Tools for Unity
– C# and Visual Basic
Game development with C++
Use the full power of C++ to build professional games powered by DirectX, Unreal, or Cocos2d
Description
Use the full power of C++ to build professional games for Windows, Xbox, and other consoles powered by DirectX, Unreal Engine, or Cocos2d.
Development applications
– Xbox live apps
– UWP apps on HoloLens
– Marble Maze
Components
– MSVC x64/x86 build tools
– Visual Studio C++ core features
– Windows Universal C Runtime
– C++ profiling tools
– Windows 10 SDK
– IntelliTrace
Data storage & processing
Connect, develop, and test data solutions using SQL Server, Azure Data Lake, Hadoop, or Azure ML
Description
The Data workload enables you to develop across a wide range of relational and big data assets. It provides you the tools to develop queries against databases, data warehouses and data lakes, whether on-premises or in Azure. It provides support for SQL, U-SQL, and Hive.
Development applications
– Use SQL Server Data Tools to design, deploy, and mantain databases
– Develop U-SQL scripts by using Azure Data Lake Tools
– Run Hive queries with Hadoop on Azure HDInsight
Components
– SQL Server Data Tools
– Azure Data Lake and Stream Analytics Tools
– .NET Framework 4.x development tools
Data science & analytical applications
Languages and tooling for creating data science applications, including Python and F#
Description
Use R and Python for wide range of scenarios such as data acquisition, cleaning, model training, deployment, and plotting. Use F#, a powerful functional-first .NET language, for a wide variety of data processing tasks.
Development applications
– Create visual data plots with R
– Work with the R interactive (REPL) window
– Create machine learning models using R and Microsoft ML Server
Components
– R and Microsoft R Client language support & runtime distributions
– Python and Anaconda language support & runtime distributions
– F# with the .NET framework language support & runtime distributions
Visual Studio extension development
Create add-ons and extensions for Visual Studio, including new commands, code analyzers, and tool windows
Description
Add the SDKs and tools you need to create new commands, code analyzers, tool windows, and language services using C#. Then, share your extension with the community in the Visual Studio Marketplace.
Development applications
– Extensions for Visual Studio IDE
– Software development kit development
Components
– Visual Studio SDK
– Visual Studio extension development prerequisites
– .NET profiling tools
– IntelliTrace
Office/SharePoint
Create Office and SharePoint add-ins, SharePoint solutions, and VSTO add-ins using C#, VB, and JavaScript
Description
Take advantage of various project templates to extend Office and SharePoint. Easily build, debug, and publish your add-ins and solutions from Visual Studio.
Development applications
– Office add-ins
– VSTO add-ins
– SharePoint add-ins
– SharePoint solutions
Components
– Office Developer Tools for Visual Studio
– .NET Framework 4.5 targeting pack
– .NET Framework 4.x development tools
– Developer Analytics tools
Linux development with C++
Create and debug applications running in a Linux environment or Windows Subsystem for Linux (WSL)
Description
Build and run code on a remote machine or Windows Subsystem for Linux and browse, edit, and debug from within Visual Studio. Use CMake to target multiple platforms from the comfort of a single IDE.
Development applications
– Get Started
Components
– Visual Studio C++ core features
– Windows Universal C Runtime
– Visual C++ for Linux Development
– Visual C++ tools for CMake and Linux
.NET Core cross-platform development
Build cross-platform applications using .NET Core, ASP.NET Core, HTML/JavaScript, and Containers including Docker support
Description
.NET Core is an open source, general-purpose development platform maintained by Microsoft and the .NET community on GitHub. It’s cross-platform (supporting Windows, macOS, and Linux), and can be used to build device, cloud, and IoT applications.
Development applications
– Complete .NET Core solution on Windows
– Docker images for .NET Core applications
– C# console application using .NET Core
Components
– .NET Core 2.x development tools
– .NET Framework 4.x development tools
– ASP.NET and web development tools prerequisites
– Cloud tools for web development
– .NET profiling tools
– IntelliTrace
– Live Unit Testing
– Live Share Learn more about .NET Core cross-platform development
Free, fully-featured IDE for students, open-source and individual
developers
Professional developer tools, services, and subscription benefits for small
teams
End-to-end solution to meet demanding quality and scale needs of teams of all
sizes
Can i create application in visual studio that can be run on Mac, windows and iOS? My client asked me to create a line of business application that can be run on Mac, Windows or iOS through one click installation, and his precious application was developed as a Windows application in C#, that currently runs only on windows.I have seen xamarin, is any other option?Any help or suggestion would be greatly appreciated. Thanks.
yadavryadavrclosed as not constructive by ChrisF♦, bryanmac, Michael Edenfield, Wooble, EmilMar 2 '13 at 23:21
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance. If this question can be reworded to fit the rules in the help center, please edit the question.
4 Answers
Mono is a cross platform, open source .NET framework that will work for this.
aceYes and NO ;)
it's possible (and brand new) through Visual Studio and Mono (as far as I understood it is an open source implementation of .NET) but you will still need a mac to compile the iOS / OSX versions, an iPhone/iPad/iPod touch to test on device, etc.
Honestly, I would go with creating an OSX app, iOS app and Windows app separately. Willing to do everything at once is nice (and often a cost question) but it is not a real option (unless cost is the major concern).
Even between iOS and OSX there are numerous differences, different concepts (option to have multiple windows on OSX / only one in iOS, different API even for common stuff, the 'touch' of an iOS app will make you work differently, screen size will make you think of different functionalities or not all would fit in the iOS app). 'UserFriendlyness' is a thing to take into account. a windows user and a mac user are not used to same interface, same application concepts, gestures on phones or trackpads, mac apps are generally not using the (F1,F2, etc. keys), etc.
There are stuff like phoneGap (ok not the desktop part of your question) that says everything works on all phones but it does not benefit of the advantages of a plateform, it goes to the lower common denominator, meaning that your app is often less efficient than if made natively.
Even more hazardous, you inherit from bugs of these tools, and some can be really tricky to understand (is there a problem in my code, in phoneGap/xamarin ?) and you could loose much time on stuff like these.
In the end it's just a matter of cost.
Even Excel from Microsoft is different between OSX and Windows plateforms, they even fixed a bug in excel 2011 for mac, that is still present in windows versions ;) (they have different business units if I remember correctly)
Mac Windows 10
So yes, business logic, but mac apps is not only objective-C, you can import/work with C or C++ files in Xcode.
just my 2 cents.
Mac Os
You can create a web-application, which are machine, architecture independent.
Or you need to create two different platform application for Windows and one for Mac OSX, both sharing same database stored in some server or any kind of machine.
Anoop VaidyaAnoop VaidyaAs MusiGenesis suggested, Mono would probably do the trick for you. You will still need Xamarin's MonoTouch for iOS support but if you separate your business-logic to a separate assembly that could easily be reused.
You might also want to consider making two different projects for the desktop editions, one with MonoMac and one with WPF (for Windows) to give your users a better experience but still with the actual logic in a separate assembly that you can reuse for all platforms.
Karl-Johan SjögrenKarl-Johan Sjögren