Frequently Asked Questions

What is SharpKit?

SharpKit is a Web Toolkit that enables you to write C# and convert it to JavaScript during compilation.

Who is SharpKit for?

SharpKit was designed for web development teams that maintain C# and JavaScript code, most commonly within the ASP.NET platform and Visual Studio.

Why should I use SharpKit?

Writing and maintaining JavaScript code can be very expensive.
Migrating from JavaScript to C# enables you to:

  • Leverage Visual Studio C# productivity
    Harness native C# features in Visual Studio such as compile-time syntax verification, code-completion, XML documentation and refactoring
  • Maximize team work
    You can now easily work on large projects in a team, without worrying about breaking your team members code.
  • Streamline client-side code review
    With C#, you can leverage code metrics, code analysis and perfomance profiling functionality for your client-side code

Is SharpKit free?

SharpKit is free under GPL, that means that if you're open source you can use it freely, for commercial purposes please refer to our licensing/pricing section.

Do I have to install SharpKit on my deployment web servers

No, SharpKit converts code during compilation, when you deploy you web app, you deploy it with the generated JavaScript files, in fact, SharpKit also helps you optimize your JavaScript files using minification and consolidation.

Do I have to keep using SharpKit once I've started?

SharpKit was designed to be a nonintrusive, pure compile-time solution with minimal impact during development and zero impact during production.

  • SharpKit does not change native JavaScript syntax
  • SharpKit does not require any change to your server-side code
  • SharpKit does not affect your existing file structure
  • SharpKit does not require custom JavaScript includes

This non-lock-in model enables you to stop using SharpKit at any time, simply by excluding the client-side C# files and treating the JavaScript files as the source.

How do I get started?

Simply download SharpKit and install it on your development machine.
Then visit our learning center to help you get started quickly.

What are the system requirement for using SharpKit?

  • Windows XP / Vista/ 7 / 2003 Server / 2008 Server (32bit or 64bit)
  • Microsoft .NET framework 2.0 / 3.5 / 4.0
  • 1GB RAM

Do I need to have Visual Studio in order to use to use SharpKit?

No. SharpKit compiler is an executable that can be used with or without Visual Studio.

Do I have to include any custom JavaScript files in my project?

It is up to you. SharpKit provides standard support for many C# language features without including any additional files. Advanced support for features such as reflection, LINQ and generics require a small include of the SharpKit JS Kernel (about 60K compressed).

Do I need to reference SharpKit assemblies from my code?

You can, but you don't have to.

SharpKit assemblies contain many interfaces for JavaScript, HTML, jQuery and other web libraries. In order to use them you can either add them as a reference, or integrate the .cs header file directly into your project. All of SharpKit header files and assemblies are completely open-source, and you can modify them anytime.

Will my application's JavaScript performance be impacted if I use SharpKit?

No. Since SharpKit generates native JavaScript that is identical to hand-written code, there is no performance penalty for the automation process.

Is there any JavaScript code that SharpKit cannot compile from C#?

No. SharpKit is fully compliant with all language features of JavaScript.

Are there any C# features that SharpKit does not compile into JavaScript?

Yes. SharpKit has a limited support for yield, and currently doesn't support explicit interface implementation and custom (non-native) structs.

What happens to my project if I stop using SharpKit?

Nothing. You can simply exclude the C# files used for client-side code generation and treat the generated JavaScript files as the source files.

Can SharpKit dynamically compile C# to JavaScript during runtime?

Yes. You can feed the SharpKit compiler with C# code during runtime, and generate JavaScript on the fly.

Can I use SharpKit to develop iPhone and smartphone applications in C#?

Yes. Most modern mobile phones support HTML5 so you can use SharpKit's HTML5 interface to develop mobile browser applications in C#, and compile them into JavaScript.

© Copyright 2005-2015 SharpKit