Пишем сайты на C# или используем C# вместо JavaScript.

   Изучая HTML мне захотелось попробовать создать веб-приложение. Но когда я увидил синтаксис javascriptа в сложном проекте желание делать сайты у меня надолго одбило...
   После этого я узнал о чудесном .Net Framework и C#. И вот после долгого программирования на нем у меня выработалась непреодолимая "любов" к C#. Но веб меня тянул больше так как шанс заявить о себе в вебе больший чем просто вылаживать мелкие программки на разные форумы(разве что написать на C# свой Nginx). После не очень долгого поиска я нашел способы писать сайты на .Net а именно Asp.Net. "Ну ок подумал я", - подумал я. "Сейчас поставлю дополнение в студию и буде делать сайты на шарпе". Но писать оказалось сложно и непонятно, кучу новых требований, странных параметров и прочих закавычок. Но "желание" творит чудеса. И тут я подумал если платформа особенная то и хостинг должен быть соответствующим. И немного погуглив я узнал что таких хостингов много и они недешевые. По расказам веб-мастеров все бесплатные и дешевые хостинги не выдерживают средней нагрузки и в основном имеют некоторые ограничения в api. Это был конец... Было еще пару попыток писать на JS, использовать всякие там TypeScript, CoffeScript, EcmaScript... оказались провальными. Я начал искать любые способы написания сайтов на каких то других языках. Я уже даже чуть не перешел на темную сторону силы (Python, Ruby...). Вывод: абсолютная непереносимость JavaScript).
   И тут когда я уже смерился с тем что выхода нет, я пытался написать игру на C# без Unity(Unity3d знаю почти на отлично но хотелось сделать что-то с нуля). Был опыт работы с SFML и совсем пару строк на SDL, но на этот раз моей целью был MonoGame о котором я уже был наслишан. Первое что я сделал это пошел искать уроки по нему. Узнав о его высокой кроссплатформенности я подумал а можно ли скомпилировать игру для WebGL. Полазив по паре англоязычных форумах явного ответа я так и не нашел, но я узнал о такой штуке как 
C# to JavaScript и вбив это прекрасное словосочетание в поисковик я нашел DuoCode.
Сначала надпись "Free 30-day trial" меня напугала, но потом оказалось что есть "Community" лицензия которую можно получить заполнив анкету по этой ссылке.
Данная лицензия подразумевает что компилятор DuoCode будет использоваться в некоммерческих целях и все что будет ним создано будет иметь открытый исходный код под какой-то лицензией(я лично взял бы zlib). Также на сайте/приложении/игре не должно быть ничего платного, минимум реклама максимум кнопка Donate.
Так что же делает этот DuoCode? Он позволяет использовать C# вместо JS используя почти все главные фичи .Net Framework.  Если куча примеров, хорошая документация а в принципе  большего и не надо. Давайте рассмотрим какой-то пример. Для начала скачаем и установим дополнение. Теперь создание нового DuoCode проекта у нас будет создаватся aspx сайт. Но если это не нужно то пишем код, компилируем, но скомпилированные файл мы будем брать не из obj\debug а из <solutionName>\<projectName>index.html и тому подобные. Теперь напишем наше первое приложение. Ну конечно классика это Hello World.
Код на C#
using System;
namespace HelloDuoCode
{

  public static class Program
  {

    public static void Main()
    {
      System.Console.WriteLine("Hello DuoCode");
    }
  }
}

Превращается в код на JS который можно спокойно встроить в сайт или если вы работаете в Visual Studio то просто открыть в index.html и радоваться.

// Generated by DuoCode Compiler 3.0.1654.0

var HelloDuoCode = this.HelloDuoCode || {};

var $d = DuoCode.Runtime;

HelloDuoCode.Program = $d.declare("HelloDuoCode.Program", 0, $asm);

$d.define(HelloDuoCode.Program, null, function($t, $p) {

    $t.Main = function Program_Main() {

        System.Console.WriteLine$10("Hello DuoCode");

    };

});


Вот такое чудо смог я откопать. Теперь хочу перенести пару своих проектов на веб платформу. Единственная проблема у меня есть 30 дней триала что-бы портировать какойто проект и доказать его свободность дабы получить блаженную "Community" лицензию.
Статья на хабре с разбором примеров здесь(в статье DuoCode еще бета, но примеры такие же).
Реальные примеры и более подробныя информация по поводу работы с DuoCode будет вскоре  размещаться на этом блоге.

Комментарии

  1. Консоли от корпорации Microsoft не сразу захватили всемирную известность и доверие игроков. 1-ая консоль под названием Xbox, вышедшая в далеком 2001 году, существенно уступала PlayStation 2 по количеству проданных приставок. Однако все поменялось с выходом Xbox 360 - консоли седьмого поколения, которая стала по-настоящему "народной" для обитателей Рф и стран СНГ - Xbox 360 прошивка Kinect. Интернет-сайт Ru-Xbox.Ru является пользующимся популярностью ресурсом в числе поклонников приставки, так как он предлагает игры для Xbox 360, которые поддерживают все имеющиеся версии прошивок - совершенно бесплатно! Для чего играть на оригинальном железе, в случае если имеется эмуляторы? Для Xbox 360 игры выходили длительное время и находятся как посредственными проектами, так и хитами, многие из которых даже сейчас остаются эксклюзивными для это консоли. Некоторые пользователи, желающие сыграть в игры для Xbox 360, смогут задать вопрос: зачем необходимы игры для прошитых Xbox 360 freeboot или разными версиями LT, если имеется эмулятор? Рабочий эмулятор Xbox 360 хоть и существует, но он просит производительного ПК, для покупки которого будет нужно вложить существенную сумму. К тому же, всевозможные артефакты в виде исчезающих текстур, недостатка некоторых графических эффектов и освещения - могут значительно испортить впечатления об игре и отбить желание для ее дальнейшего прохождения. Что предлагает этот интернет-сайт? Наш портал вполне приурочен к играм для приставки Xbox 360. У нас вы можете совсем бесплатно и без регистрации скачать игры на Xbox 360 через torrent для следующих версий прошивок консоли: - FreeBoot; - LT 3.0; - LT 2.0; - LT 1.9. Каждая прошивка имеет свои особенности обхода встроенной защиты. Потому, для запуска той или иной игры потребуется загрузить специальную ее версию, которая полностью приспособлена под одну из четырех перечисленных выше прошивок. На нашем сайте вы можете без труда найти желаемый проект под подходящую прошивку, поскольку возле каждой игры находится заглавие версии (FreeBoot, LT 3.0/2.0/1.9), под которую она приспособлена. Пользователям данного ресурса доступна особая категория игр для 360-го, предназначенных для Kinect - специального дополнения, которое считывает все движения одного либо нескольких игроков, и позволяет управлять с их помощью компьютерными персонажами. Большой выбор ПО Не считая возможности скачать игры на Xbox 360 Freeboot либо LT различных версий, здесь вы можете получить программное обеспечение для консоли от Майкрософт: - различные версии Dashboard, которые позволяют кастомизировать интерфейс консоли под свои нужды, сделав его более комфортным и нынешним; - браузеры; - просмотрщики файлов; - сохранения для игр; - темы для консоли; - программы, для конвертации образов и записи их на диск. Кроме перечисленного выше игры на Xbox 360 Freeboot можно запускать не с дисковых, а с USB и многих других носителей, используя программу x360key, которую вы можете достать на нашем интернет-сайте. Посетителям доступно огромное количество полезных статей, а кроме этого форум, где можно пообщаться с единомышленниками либо попросить совета у более опытных хозяев консоли.

    ОтветитьУдалить
  2. С каждым годом людей, у которых есть проблемы со зрением, становится все больше и больше. Очки - самый нужный и проверенный способ коррекции зрения - женские очки. На сайте компании ROCKINGLOOK вы можете оформить высококачественные оправы и линзы для очков по небольшой цене.

    ОтветитьУдалить
  3. Your car could be stolen if you don't keep this in mind!

    Imagine that your vehicle was taken! When you approach the police, they inquire about a specific "VIN check"

    Describe a VIN decoder.

    Similar to a passport, the "VIN decoder" allows you to find out when the car was born and who its "parent"( manufacturing plant) is. You can also find out:

    1.Type of engine

    2.Model of a car

    3.The limitations of the DMV

    4.The number of drivers in this vehicle

    You'll be able to locate the car, and keeping in mind the code ensures your safety. The code can be examined in the online database. The VIN is situated on various parts of the car to make it harder for thieves to steal, such as the first person sitting on the floor, the frame (often in trucks and SUVs), the spar, and other areas.

    What if the VIN is intentionally harmed?

    There are numerous circumstances that can result in VIN damage, but failing to have one will have unpleasant repercussions because it is illegal to intentionally harm a VIN in order to avoid going to jail or the police. You could receive a fine of up to 80,000 rubles and spend two years in prison. You might be stopped on the road by a teacher.

    Conclusion.

    The VIN decoder may help to save your car from theft. But where can you check the car reality? This is why we exist– VIN decoders!

    ОтветитьУдалить
  4. Бонусы и поощрений в БК 1хбет значительно увеличивает привлекательность компании в глазах пользователей. Выгодные предложения доступны и новеньким, так и гостям, уже имеющим опыт работы на платформе. Среди внушительного ассортимента бонусной программы очень легко потеряться. Каждый промокод 1хбет гарантирует право на определенные преференции - промокод на 1хбет при регистрации.

    ОтветитьУдалить

Отправить комментарий