Главная > .NET, AJAX, Open Source, web2.0, веб-обзоры, Разное, Стартапы > Метапрограммирование? Нет! Он-лайновый редактор кода? Нет! А что?! Metacoding.net!

Метапрограммирование? Нет! Он-лайновый редактор кода? Нет! А что?! Metacoding.net!

6 декабря 2007

logo.gifМетапрограммирование, согласно Wikipedia, это процесс создания программ, результатом работы которых являются другие программы, либо изменяется собственный код во время выполнения. Но сейчас не об этом, хотя чуть дальше параллели все же будут.

До недавних пор присутствие программистов в сети, особенно в части Web 2.0 ограничивалось либо специализированными сайтами, где можно было обсудить все, что угодно, либо новостными или другими типами информационных ресурсов. Ну и, конечно, личные страницы проектов - начиная от гигантов SourceForge.net и заканчивая обычными блогами. Мы могли общаться, даже объединяться в социальную сеть (не так давно была запущена специализированная социальная сеть Ohloh для разработчиков OpenSource приложений). Но вот самой сути работы - именно программировать, в онлайне было, скажем так, сложно и совсем не тривиально. Потому что не было инструментов (в первую очередь, онлайновых). А теперь есть - встречайте проект Metacoding.net.

Сервис представляет собой некое виртуальное рабочее место программиста, где он может создавать неограниченное количество проектов, указывая для каждого свою лицензию (поддерживаются почти все популярные OpenSource лицензии , а также closed source). Языки реализации можно выбирать из:

  • ASP.NET
  • C
  • C#
  • C++
  • Fortran (! обратите внимание)
  • HTML
  • Java
  • JavaScript
  • PHP
  • VisualBasic.NET

new_project.jpg

К сожалению, в текущей версии сервиса одновременно можно создать и работать только с одним проектом, хотя внутри него можно создавать страницы на любом из поддерживаемых языков. Но, конечно, возможности будут ограничены основным языком проекта.

Из стандартных фич можно отметить - наличие полноценного рабочего пространства, подсветка синтаксиса для всех поддерживаемых языков, нумерация строк, встроенный анализатор кода (показывает статистику кода и затраченное время, думаю, встроить другие продвинутые анализаторы не проблема, множество из них есть с открытым кодом), возможность в проекте создавать разветвлённую структуру директорий, загружать свои файлы или создавать используя встроенный мастер, поддержка шаблонов, многоступенчатый Undo/Rendo, возможности сохранения как отдельных файлов, так и всего проекта за раз, автоматическое добавление файла лицензии к проекту, одновременное открытие в разных вкладках множества файлов.

html_futires.jpg

А теперь перейдём к особой функциональности. Для этого необходимо использовать один из компилируемых языков, поддерживаемых сервисом, например, С#. После создания проекта добавляем новый файл, указываем при этом тип C#, и сразу получаем готовое тестовое приложение - скелет первой программы "Hello world!". Также теперь будут доступными и различные настройки процесса сборки - например, тип создаваемого приложения (консольное, оконное или библиотека классов). Созданное приложение можно сразу же скачать в виде собранного exe файла. Кстати, если вы допустите ошибку в коде, то как и в обычной среде разработки, снизу появится указания на все обнаруженные компилятором неточности, с указанием файла, строки и описание ошибки. Хотя больше ничего нет, то есть, механизмы полноценной отладки пока не поддерживаются.

csharp_futires.jpg

В результате мы получаем очень и очень интересный проект, честно, просто уникальный Web 2.0 проект, который именно предоставляет новую и востребованную функциональность, прежде просто немыслимую в среде интерактивного он-лайн приложения. Но это только начало. Посмотрим, чего же не хватает на данном этапе развития.

workplacce.jpg

Хотелось бы иметь документацию под рукой, то есть интегрированной в среду, возможно даже в виде подсказки прямо в окне редактора кода. Ну и остальные привычные нам инструменты - собственные шаблоны, библиотеку функций и сниппетов. Очень бы хотелось увидеть возможности групповой работы на проектом, создание общих проектов и параллельно работать, даже над один и тем же файлом. Конечно, не хватает и возможностей отладки, а также просмотра и запуска созданных документов (тех, которые могут быть запущены в браузере - HTML, PHP, JavaScript). Для большинства языков есть верификаторы и анализаторы кода, соответственно хотелось бы иметь возможность использовать их для проверки кода. Также отличной была бы возможность выбора целевой платформы и более широкие возможности по настройке опций компилирования и сборки.

new_file_templates.jpg

Но, конечно, это пока всего лишь пожелания. Проект и так отличный, подходит для быстрого прототипирования и проверки своих идей на разных языках. Ещё бы возможность создавать несколько проектов, а не один, как сейчас - и это будет идеальным инструментом, этаким суперпродвинутым Блокнотом/Emac для программистов он-лайн.Да и модель коммерциализации подобного сервиса достаточно ясна и простая. Это и реклама, так как аудитория довольно специфичная и легко поддающаяся таргетированию, так и обычные платные сервисы, вроде расширения места под хранение файлов проектов, расширенные возможности компиляции, поддержка систем управления кодом - можно придумать много чего ещё, но очевидно одно - если проект будет развиваться, это станет пусть небольшим, но прорывом в области программирования и проектирования онлайн.

P.S. Кстати, проект написан с использованием фреймворка ExtJS, и наглядно демонстрирует всю его мощь и возможности построения интерфейсов, совершенно аналогичных обычным десктопным приложениям.
P.P.S. Оценить эту статью на DevLinks.com.ua.

  1. Пока что нет комментариев.
Комментирование отключено.
Developers.org.ua