R u i: Rui | Kimetsu no Yaiba Wiki

RUI – библиотека для создания web-приложений на языке go / Хабр

Хочу представить вам свой проект – библиотеку RUI (Remote User Interface). Библиотека предназначена для создания web-приложений на языке go. 

Особенностью библиотеки заключается в том, что вся обработка данных осуществляется на сервере, а браузер используется как тонкий клиент. Для связи клиента и сервера используется WebSocket. Для разработки вам не нужны HTML/CSS/JavaScript. Все разрабатывается на языке go.

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

Библиотека бесплатна и распространяется под MIT лицензией. В данный момент библиотека находится в статусе беты

Если вас это заинтересовало, то начнем

И начнем конечно с приложения “Hello world”

package main
import "github.com/anoshenko/rui"
type helloWorldSession struct {
}
func (content *helloWorldSession) CreateRootView(session rui. Session) rui.View {
	return rui.NewTextView(session, rui.Params {
		rui.Text : "Hello world!!!",
	})
}
func createHelloWorldSession(session rui.Session) rui.SessionContent {
	return new(helloWorldSession)
}
func main() {
	app := rui.NewApplication("Hello world", "icon.svg", createHelloWorldSession)
	app.Start("localhost:8000")
}

В функции main создается rui приложение и запускается основной цикл. При создании приложения задаются 3 параметра: имя приложения, имя иконки и функция createHelloWorldSession. Функция createHelloWorldSession создает структуру, реализующую интерфейс SessionContent:

type SessionContent interface {
	CreateRootView(session rui.Session) rui.View
}

 Для каждой новой сессии создается свой экземпляр структуры.

Функция CreateRootView интерфейса SessionContent создает корневой элемент. Когда пользователь обращается к приложению набрав в браузере адрес “localhost:8000”, то создается новая сессия, для нее создается новый экземпляр структуры helloWorldSession и в конце вызывается функция CreateRootView. Функция createRootView возвращает представление строки текста, создаваемое с помощью функции NewTextView.

Если вы хотите, чтобы приложение было видно вне вашего компьютера, то поменяйте адрес в функции Start:

              app.Start(rui.GetLocalIP() + ":80")

 Давайте немного украсим нашу надпись: расположим ее по центру, добавим рамку, тень. Для этого изменим функцию CreateRootView

func (content *helloWorldSession) CreateRootView(session rui.Session) rui.View {
	return rui.NewGridLayout(session, rui.Params{
		rui.Width:               rui.Percent(100),
		rui.Height:              rui.Percent(100),
		rui.CellVerticalAlign:   rui.CenterAlign,
		rui.CellHorizontalAlign: rui.CenterAlign,
		rui.Content: []rui.View{
			rui.NewTextView(session, rui.Params{
				rui.Text:            "Hello world!!!",
				rui.FontName:        "Arial",
				rui.TextSize:        rui.Pt(24),
				rui.TextColor:       rui.White,
				rui.BackgroundColor: rui.Blue,
				rui.Padding:         rui.
Px(40), rui.Border: rui.NewBorder(rui.Params{ rui.Style: rui.SolidLine, rui.Width: rui.Px(2), rui.ColorProperty: 0xff808080, }), rui.Radius: rui.Px(8), rui.Shadow: rui.NewViewShadow(rui.Px(2), rui.Px(2), rui.Px(4), rui.Px(2), 0x80808080), }), }, }) }

Данный текст, по-моему, довольно ясен. Поэтому сделаю к нему всего пару пояснений.

Функции rui.Percent, rui.Pt  и rui.Px используются для задания размеров, соответственно, в процентах, pt и пикселях

Для того чтобы разместить текст по центру мы помещаем его в контейнер GridLayout.

Пространство контейнера GridLayout разбито на ячейки в виде таблицы. Все дочерние элементы располагаются в ячейках таблицы. В наше примере у GridLayout одна ячейка, в которую помещается текст.

Помимо GridLayout в библиотеке имеются следующие контейнеры:

ListLayout – дочерние элементы располагаются в виде списка (вертикального или горизонтального)

StackLayout  – дочерние элементы занимают все пространство контейнера и располагаются один над одним. Виден только один верхний

ColumnLayout

– дочерние элементы располагаются в виде вертикального списка в несколько колонок

AbsolutLayout – положение и размеры дочерних элементов задаются вручную

DetailsView – сворачиваемый контейнер

Resizable – контейнер меняющий размер путем перетаскивания сторон его рамки

Для работы с данными библиотека имеет ряд контролов. Помимо уже использованного  TextView есть следующие:

ListView, TableView, DropDownList, Button, Checkbox, EditView, NumberPicker, ColorPicker, DatePicker, TimePicker, ProgressBar, ImageView, AudioPlayer, VideoPlayer

Назначение данных контролов понятно из их названия.

Кроме них есть еще  CanvasView. Это контрол на котором вы можете рисовать используя различные геометрические фигуры и изображения.

На этом пока все. Если вас заинтересовала моя библиотек, то почитать подробнее о ней можно в readme файле git репозитория (в нем библиотека описана довольно подробно).

Git репозиторий библиотеки

По адресу

Располагается demo программа которая показывает возможности библиотеки.

И в конце просьба не пинать меня сильно в коментах. Это просто проект для души, а не коммерческая библиотека.

RUI HAI 1, General Cargo Ship – Данные судна и текущее положение – IMO 9178070

 

General Cargo Ship, IMO 9178070

Судно RUI HAI 1 (IMO: 9178070, MMSI: 511475000) – General Cargo Ship построенное в 1998 и ходит под флагом Palau.

AIS данные

Track on Map Добавить фото

LASHAN.CHN

ETA: Mar 15, 17:00

Predicted ETA
Distance / Time
Курс / Скорость 
Осадка6.6 m
Navigation Status Under way
Position received

2 hours ago

IMO / MMSI9178070 / 511475000
ПозывнойT8A2559
ФлагPalau
Длина / Ширина97 / 17 m

Noshiro, Japan

ATD: Mar 10, 09:18 UTC

Позиция на карте & Weather

Newer position via Satellite

Заходы в портах

Historical AIS Data

Vessel Utilization

Регистровые данные

IMO номер9178070
Имя суднаRUI HAI 1
ТипGeneral Cargo Ship
ФлагPalau
Порт приписки
GT4724
DWT (t)6175
Длина (m)97
Ширина (m)17
Осадка (m)
Год постройки1998

Судостроитель
Место постройки
Номер верфи
TEU
Жидкие НП (bbl)
Gas (m3)
Зерно
Гарантия
Classification Society
Судовладелец
Менеджер/Оператор

История

Имя суднаСудовладелецГод
AYA MARU NO.
9
2013
ASIA SYMPHONYEOS Sg SA2000
ASIA SYMPHONYMasaki KK1999
ASIA SYMPHONYEOS Sg SA1998

Similar vessels

СудноПостройкаGTDWTРазмеры (m)
19994726620597 / 17
19954735691897 / 17
1995
4735629897 / 17
19944740683397 / 17
19964738623897 / 17
19964736624397 / 17
19974697622397 / 17
19974690680397 / 17
199647436607
96 / 18
19974749660797 / 18

Предупреждение

RUI HAI 1 текущая позиция и история портов захода основана на данных полученных через AIS. Техническая спецификация, тоннаж и менеджмент получены от базы данных VesselFinder. Данные только для информационных целей и VesselFinder не отвечает за точность данных относящихся к RUI HAI 1.

RIU.com | Предложения | Бронируйте лучшие курорты и отели

RIU.com | Предложения | Бронируйте лучшие курорты и отели

Эксклюзивные преимущества Riu Class

Почему стоит выбрать Riu Hotels & Resorts?

Опыт и любовь к делу

RIU Hotels & Resorts — это гостиничная сеть, основанная в 1953 году с небольшим отелем в Плайя-де-Пальма, Испания. Наш более чем 60-летний опыт заботы о наших клиентах в лучших уголках мира подтверждает миссию компании: благополучие наших гостей.

Около 100 отелей в 19 странах

День за днем ​​мы работаем над тем, чтобы предлагать лучшие удобства и эксклюзивные услуги почти в 100 отелях, расположенных в 19 странах. Все они, кроме того, с гарантией качества и стандарта обслуживания, которые сделают ваш отдых поистине уникальным.

Продолжайте просмотр и откройте для себя лучшее из RIU Hotels & Resorts!

Изделия РИУ

Отели Riu Plaza — это городские отели, всегда расположенные в нервных центрах крупных мегаполисов. Там вы найдете лучшие услуги, путешествуете ли вы по делам или для удовольствия.

Подробнее»

Отели Riu Palace делают пребывание наших гостей еще более роскошным, совершенным и изысканным. Эти отели всегда расположены прямо на пляже и предлагают лучшие услуги, гарантирующие непревзойденный отдых.

Подробнее»

 Отели «Только для взрослых» предназначены для людей, которые хотят расслабиться и насладиться отдыхом вдвоем или с друзьями в эксклюзивной обстановке.

Подробнее»

RIU Hotels & Resorts отличается эксклюзивным сервисом «Все включено» во многих своих отелях для отдыха. Услуга, в которой все предназначено для того, чтобы наши клиенты могли забыть о своей повседневной рутине и просто получать удовольствие, исключая все остальное.

Посмотреть больше»

Приложение Riu Hotels & Resorts

  • Регистрация
  • 0800 723 43 60 *
  • Языки

Мы с нетерпением ждем встречи с вами на

{{::title}}

Загрузите

новое приложение и используйте его, чтобы:
  • Зарегистрироваться онлайн и не ждать в очередях по прибытии в отель
  • Ознакомьтесь с расписанием мероприятий и меню ресторана, и в большинстве из них вы даже можете забронировать столик!
  • Получите доступ к своей учетной записи Riu Class или станьте участником прямо сейчас, чтобы пользоваться эксклюзивными преимуществами
  • Спросите на стойке регистрации любую необходимую вам услугу : наполнение мини-бара, дополнительное полотенце и т. д. Забронируйте столик в большинстве ресторанов
  • Получите доступ к своей учетной записи Riu Class или зарегистрируйтесь сейчас
  • Спросите у администратора о любых услугах , которые вам нужны: наполнение мини-бара, дополнительное полотенце и т. д.

Скачать приложение Доступно на iOS и Android

лучших направлений мира – резервный отель

лучших направлений мира – резервный отель

Откройте для себя наши направления и отели.0021 незабываемые каникулы

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

Выберите один из наших курортных, городских, семейных отелей или отелей только для взрослых и насладитесь отдыхом в своем любимом месте. Получите уникальные впечатления от RIU!

Выберите отель Riu

В Riu Hotels & Resorts есть различные типы отелей, чтобы удовлетворить все потребности наших гостей.

Классические отели RIU

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

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

Дополнительная информация

Отели RIU Plaza

Городские отели с лучшими удобствами для тех, кто путешествует по делам , и в то же время удовлетворяя потребности туристов. Они всегда расположены в основных узлах крупных городов для быстрого и легкого доступа к самым интересным местам.

Отели RIU Plaza — это здание с современной элегантной архитектурой , специально спроектированное с учетом всех технических и эстетических требований, предъявляемых к отелям 21 века.

Дополнительная информация

RIU Palace Hotels

Эта категория добавит дополнительный штрих роскоши, совершенства и изысканности в самый расслабляющий отдых. Всегда расположенные на пляже, эти отели демонстрируют тщательно продуманный архитектурный дизайн в красивейшем природном окружении. Отели RIU Palace гарантируют гостям расслабляющий отдых, где они могут насладиться спа- и велнес-услугами , спортивными и развлекательными мероприятиями, а также отличными предложениями в различных буфетах и ​​9 ресторанах.0021 тематические рестораны .

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

Дополнительная информация

Приложение Riu Hotels & Resorts

  • Регистрация
  • 0800 723 43 60 *
  • Языки

Мы с нетерпением ждем встречи с вами на

{{::title}}

Загрузите

новое приложение и используйте его, чтобы:
  • Зарегистрироваться онлайн и избежать ожидания в очередях по прибытии в отель
  • Проверить расписание мероприятий и меню ресторана, и в большинстве из них вы даже можете забронировать столик!
  • Получите доступ к своей учетной записи Riu Class или станьте участником прямо сейчас, чтобы пользоваться эксклюзивными преимуществами
  • Спросите на стойке регистрации любую необходимую вам услугу : пополнение мини-бара, дополнительное полотенце и т.

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