Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Tree: 3dfb137216
Fetching contributors…

Cannot retrieve contributors at this time

119 lines (113 sloc) 8.633 kB
<!DOCTYPE html>
<title>JSIL - .NET to JavaScript compiler</title>
<meta name="description" content="JSIL is an open source compiler that turns .NET applications, written in C# or VB.NET, into fast readable JavaScript.">
<link rel="stylesheet" type="text/css" href="reset.css">
<link rel="stylesheet" type="text/css" href="common.css">
<link rel="stylesheet" type="text/css" href="index.css">
<body onLoad="onLoad()">
<div id="content_box">
<div id="introduction" class="rounded-box">
<h1><img src="images/jsil_48px.png" id="logo">JSIL</h1>
<p>JSIL is a compiler that transforms .NET applications and libraries from their native executable format - <a href="">CIL bytecode</a> - into standards-compliant, cross-browser JavaScript. You can take this JavaScript and run it in a web browser or any other modern JavaScript runtime. Unlike other cross-compiler tools targeting JavaScript, JSIL produces readable, easy-to-debug JavaScript that resembles the code a developer might write by hand, while still maintaining the behavior and structure of the original .NET code. Because JSIL transforms bytecode, it can support most .NET-based languages - C# to JavaScript and VB.NET to JavaScript work right out of the box.</p>
<div id="demos" class="rounded-box">
<div id="demo_carousel" style="display: none">
<div id="carousel_items">
<a href="" style="background-image: url(images/demos/escapegoat.jpg)"><span style="font-size: 0.1pt">Escape Goat</span></a>
<a href="" style="background-image: url(images/demos/lumberjack.jpg)">Bytown Lumberjack</a>
<a href="" style="background-image: url(images/demos/try.jpg)">Try JSIL</a>
<a href="" style="background-image: url(images/demos/rpg.jpg)">XNA RPG Sample</a>
<a href="" style="background-image: url(images/demos/platformer.jpg)">XNA Platformer Sample</a>
<a href="" style="background-image: url(images/demos/tetris.jpg)">Tetris</a>
<a href="" style="background-image: url(images/demos/mannux.jpg)">Mannux</a>
<a href="" style="background-image: url(images/demos/raytracer.jpg)">Raytracer</a>
<div id="codesamples" class="rounded-box">
<h2>Code Samples</h2>
<ul id="sample_list">
<li><a href="samples/foreach.html"><tt>for each</tt></a></li>
<li><a href="samples/multicastdelegates.html"><tt>MulticastDelegate</tt>s</a></li>
<li><a href="samples/refparameters.html"><tt>ref</tt> parameters</a></li>
<li><a href="samples/verbatim.html"><tt>Verbatim</tt> JavaScript</a></li>
<li><a href="samples/closures.html">Closures</a></li>
<li><a href="samples/multidimarrays.html">Multidimensional <tt>Array</tt>s</a></li>
<li><a href="samples/genericsandnested.html">Generics and Nested Types</a></li>
<li><a href="samples/goto.html">Goto</a></li>
<li><a href="samples/structcopyelimination.html">Struct Copy Elimination</a></li>
<iframe id="codesample" allowtransparency="true" frameborder="0" sandbox="allow-same-origin allow-scripts" src="about:blank"></iframe>
<div id="gettingstarted" class="rounded-box">
<h2>Getting Started</h2>
<h3>Use JSIL</h3>
<li>Clone the repository using Git, from '<tt></tt>'. <span class="aside">(Make sure you pull the submodules!)</span></li>
<li>Build <tt>JSIL.sln</tt> in Visual Studio 2010. <span class="aside">(Express is fine.)</span></li>
<li>Run <tt>JSILc.exe</tt> on your application. <span class="aside">(<a href="">See the wiki for help</a>.)</span></li>
<li>Marvel at convoluted error messages! <span class="aside">(JSIL is still in development. You will hit bugs.)</span></li>
<h3>Contribute to JSIL</h3>
<li><a href="">Fork JSIL on GitHub</a>. <span class="aside">(Working locally from a clone is okay too.)</span></li>
<li>Write tests for bugs or new features! <span class="aside">(Without tests, JSIL would always be broken.)</span></li>
<li>Fix broken tests! <span class="aside">(Adding a test for a bug is helpful even if you can't fix it.)</span></li>
<li>Push to your GitHub fork! <span class="aside">(If you don't, I can't see your awesome changes.)</span></li>
<li><a href="">Create a pull request on GitHub</a>. <span class="aside">(Submitting a patch is okay too.)</span></li>
<h3>Complain about JSIL</h3>
<p>Not everybody has time to write code! That's okay. You can <a href="">report issues</a>, or just talk about JSIL on the internet or something!</p>
<div class="g-plusone" data-size="medium" data-href=""></div>
<a href="" class="twitter-share-button" data-url="" data-via="antumbral">Tweet</a>
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);;js.src="//";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>
<!-- Place this tag where you want the +1 button to render -->
<!-- Place this render call where appropriate -->
<script type="text/javascript">
(function() {
var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;
po.src = '';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);
<div id="changelog" class="rounded-box">
<h2>Changelog <span id="branch_list"></span> <a href="" id="view_on_github">View on GitHub</a></h2>
<div id="changelog_loading_placeholder">Loading...</div>
<div id="changelog_entries" style="display: none">
<div id="aboutauthor" class="rounded-box">
<h2>About the Author</h2>
<p>Kevin Gadd is a rampaging malcontent from Northern California. He works on horrible indie games in his spare time, occasionally blogs <a href="">on his website</a>, and complains incessantly about first-world problems on <a href="">Twitter</a>. You can find the unreadable source code he was unwise enough to upload <a href="">on GitHub</a>.
<div class="changelog-entry" id="changelog_entry_template" style="display: none">
<img class="author-image" alt="Author's Avatar">
<div class="header"><a class="author">Author</a><a class="datetime"><span class="date">Date</span> <span class="time">Time</span></a></div>
<div class="message"><span class="text">Message</span></div>
<div id="footer">Logo by the impeccable <a href="">John Flynn</a></div>
<script src="" type="text/javascript"></script>
<script src="md5-min.js" type="text/javascript"></script>
<script src="jquery.carousel.min.js" type="text/javascript"></script>
<script src="index.js" type="text/javascript"></script>
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-6375004-6']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
Jump to Line
Something went wrong with that request. Please try again.