В дополнение к разгулу открытого исходного кода Microsoft добавила в список TouchDevelop. Большая проблема в том, что многие люди, которым может понравиться TouchDevelop, даже не знают о его существовании. О чем это все?
TouchDevelop предназначен для создания простых в использовании веб-приложений. Это не блочный язык, как Scratch или App Inventor, а нечто среднее между языком полнотекстового кодирования и языком перетаскивания на основе блоков.
В TouchDevelop вы используете текст, но вы можете перетаскивать инструкции из палитры возможных инструкций. Что интересно в этом подходе, так это то, что вы все еще «кодируете», но этот подход более или менее исключает типизацию. Это делает его очень простым в использовании на планшетах с сенсорным экраном и даже на телефонах — отсюда и название TouchDevelop.
Что касается языка, то в нем нет ничего особенного — стандартный язык с блочной структурой, который поддерживает функции и, опционально, объекты. Он имеет операторы if, циклы for и while. Что делает его немного особенным, так это то, что он поддерживает синхронный код и события. Он также имеет расширенный пользовательский интерфейс, который включает сенсорные события и датчики, позволяющие писать код для таких устройств, как Arduino.
Возможно, это не оказало такого большого влияния, как можно было ожидать, и отчасти причина может заключаться в том, что он привязан к Windows Phone. Это правда, что для Windows Phone существует только специальное приложение, но есть веб-приложение, которое можно использовать для создания программ TouchDevelop практически на любом устройстве.
После того, как вы создали свое приложение и протестировали его, вы можете экспортировать его, да, на Windows Phone, но также на Android, iOS или Windows. Дело в том, что он использует Cordova для создания почти универсального веб-приложения.
Единственным недостатком является то, что вам нужно запустить TouchDevelop локально и установить Cordova. Однако оно того стоит, потому что в итоге вы получаете то, что выглядит как нативные приложения. Также обратите внимание, что именно так поддерживается Windows Phone, поэтому нет большого предубеждения в отношении собственной платформы Microsoft.
Существуют также другие альтернативные форматы экспорта — App Studio, Azure или необработанное веб-приложение HTML5, что делает подход очень гибким.
TouchDevelop — отличный способ начать программирование, и, поскольку он использует текст, нет реальных препятствий для перехода к чему-то более сложному. Это также отличный способ прототипирования приложений, и в некоторых случаях прототип может даже стать финальной версией.
Если идея о том, что это была закрытая система Microsoft, оттолкнула вас от рассмотрения TouchDevelop, то хорошей новостью является то, что теперь это открытый исходный код — или, по крайней мере, веб-приложение с открытым исходным кодом.
Чтобы процитировать блог:
«Сегодня мы делаем еще один шаг на этом пути — мы выпускаем веб-приложение TouchDevelop по лицензии MIT. Команда Microsoft Research по-прежнему привержена руководству его дальнейшим развитием, но вы, наши пользователи, коллеги-исследователи и хакеры мира, приглашаются внести свой вклад «.
Проект находится на Github и состоит примерно из 160 000 строк TypeScript, что само по себе интересно. Есть несколько ограничений. Внутренняя поддержка и приложение Windows Phone не включены в открытый исходный код. Если вы создадите форк проекта, вы сможете запускать новое клиентское веб-приложение только в облачной службе Microsoft, что вы можете делать бесплатно — если вы довольны доменом. Если вы хотите запустить его из своего собственного домена, вам нужно поговорить с Microsoft.
Так что TouchDevelop не является полностью открытым исходным кодом.
Вы можете разработать свою собственную среду редактирования, но вы не сможете оторваться от серверов Microsoft. Если серверы пойдут по пути дронта, вы можете остаться с кодом.
Если Microsoft серьезно настроена использовать TouchDevelop в образовательных и других целях, ей следует подумать о том, чтобы заверить пользователей в том, что служба будет продолжать работу, либо открыв исходный код на стороне сервера, либо передав код сервера независимому фонду.