Flutter-разработчикам: показываем, как шарить код через DartPad

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Каждый Flutter разработчик рано или поздно сталкивался с DartPad. Но у него гораздо больше возможностей, чем просто запускать код. В этот раз поделимся как просто шарить код через DartPad.

Меня зовут Ахмедов Самир, я Flutter разработчик в Surf, и я расскажу о том, что же ещё умеет DartPad.

Конфигурация

dartpad.dev позволяет заранее настроить внешний вид и функционал.

Страницы

DartPad предоставляет нам на выбор 6 разных страниц. Разница между ними лишь в том, какой функционал нам будет предоставлен.

  1. embed-dart

Уже привычный сайт с вводом кода на Dart слева и консолью справа. 

  1. embed-inline

То же, что и первое, только консоль не справа, а снизу

  1. embed-flutter

Редактор кода с динамической отрисовкой UI.

  1. embed-flutter_showcase

В отличие от прошлого, показывает только готовый UI, а код — только после нажатия «show code». Отлично подходит для демонстрации результата, когда реализация не слишком важна.

слева — страница при запуске, справа — страница при нажатии на «Show code»
слева — страница при запуске, справа — страница при нажатии на «Show code»
  1. embed-html

Редактор HTML страниц, но вместо Javascript можно использовать Dart. Стили CSS можно писать тут же и видеть результат.

Обратите внимание на вкладки HTML и CSS вверху страницы
Обратите внимание на вкладки HTML и CSS вверху страницы
  1. workshops

DartPad с функционалом воркшопа.

Query-параметры

Также мы можем выбрать не только функционал страницы, но и настроить, что в нем будет и как оно будет выглядеть. Конфигурация Dartpad добавляется в URL как query параметры.

  1. split

Часть экрана в процентах, что будет занята кодом.

Пример:

split=40
split=40
split=80
split=80
  1. theme

Значения —  dark и любое другое. Если theme = dark, то тема редактора — тёмная, иначе — светлая.

Пример:

theme=light или weiujbiwebfj или вообще значения нет
theme=light или weiujbiwebfj или вообще значения нет
theme=dark
theme=dark
  1. run

Значения — true и другие. Если значение — true, код запускается сразу после запуска страницы. 

Интеграция с Github

В Dartpad можно загружать код напрямую из Github и создавать кастомные воркшопы.

Github Gist

Код можно загрузить с любого публичного аккаунта GitHub, добавив в URL query id.

К примеру, вот URL вашего Gist: https://gist.github.com/{username}/0b4eaa233d04a2d62a63ceb337375c7d

То, что идёт после {username}/, и есть ID Gist. 

id = 0b4eaa233d04a2d62a63ceb337375c7d
id = 0b4eaa233d04a2d62a63ceb337375c7d

Github Repo

Если же вы хотите сделать код интерактивней, например, чтобы всплывали подсказки или был пример готового решения — всё это можно сделать через создание репозитория на Github с конфигурацией окружения.

Чтобы привязать Github репозиторий к DartPad, нужно обязательно добавить 3 query поля: 

  • gh_owner — название вашего аккаунта на Github.

  • gh_repo — название публичного репозитория, где лежат все нужные файлы.

  • gh_path — папка, в котором находится нужные файлы. 

Все поля обязательны, даже gh_path: нужно будет обязательно поместить все файлы в какую-то одну папку, не дальше и не ближе.

Можно ещё добавить gh_ref — название ветки, которую нужно использовать, но это опционально. После того как вы создали репозиторий и папки, осталось только понять, что же нужно в них положить.

Пример репозитория
Пример репозитория

Код с подсказками и примером исполнения

Чтобы загрузить код из репозитория, структура отведённой под это папки должна выглядеть вот так:

Где:

dartpad_metadata.yaml —  конфигурация для DartPad, из которого он понимает, какой файл, где его читать и для чего он служит.

name: Flutter DartPad repo

# Какой код перед нами - чистый Dart или Flutter.

mode: dart # or 'flutter'

# Какие файлы DartPad должен прочитать.

files:

  - name: main.dart

Для того чтобы показать просто код, надо указать только main.dart. А в main.dart просто пишем код:

/// Просто файл с кодом. Ничего необычного.

void main() {

  print("Test!");

}

Выгружаем изменения в репозиторий и через минуту смотрим на результат:

Поздравляю, у нас всё получилось 						</div>

Источник: https://habr.com/ru/companies/surfstudio/articles/754058/<br/><br/>




<div style=

Интересные статьи

Интересные статьи

Производители обещают сохранение до 80% заряда никель-металлогидридных аккумуляторов через два года хранения. Я измерил остаточную ёмкость 32 аккумуляторов AA и AAA четырёх брендов после 30 дней хран...
Если кратко, то пока не работает или работает через попу с кучи попыток, за исключением Почта банка. В Почта банке оказалось даже биометрия не нужна. Молодцы! В деталях п...
Сегодня мы покажем, как настроить мониторинг кластера OpenShift с помощью внешней системы на примере Zabbix. А также, как использовать при этом Prometheus, иначе говоря, ...
В эту субботу 1 февраля 2020 г. в нашем Хакспейсе Нейрон в Москве пройдет мастер-класс по практическому использованию DMA-атак. Вместе мы будем взламывать реальный компьютер с зашифрованной фай...
Для получения коротких сообщений, можно использовать электронную почту, SMS, push-уведомления или создать бота для мессенджера. Предлагаю рассмотреть еще один простой способ: 1. Создаем на...