Skip to content

Instantly share code, notes, and snippets.

@maestrow
maestrow / post.md
Last active September 16, 2024 12:06
Frontend development in F#

Frontend development in F#

Введение

Во frontend-разработке давно сущесвтуют инструменты и технологии, позволяющие писать код для браузера не только на javascript.

Самые распрастраненные языки, которые могут компилироваться в javascript:

  • CoffeeScript
  • TypeScript
@maestrow
maestrow / post.md
Last active December 17, 2024 12:38
Теория категорий в программировании
@maestrow
maestrow / fable-app-from-scratch.md
Last active March 8, 2018 20:58
Fable technology stack

Create Fable Application manually from scratch

Для создания проекта fable в dotnet core доступен специальный шаблон. Установить его можно командой dotnet new -i Fable.Template. А создать новое приложение по данному шаблону можно командой dotnet new fable -n FableApp -lang F# -o . (FableApp - имя проекта; -o - путь к папке проекта, по умолчанию текущая директория).

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

@maestrow
maestrow / paket.dependencies
Last active June 27, 2017 22:18
Как минимизировать объем папки packages в F# проекте, созданном в VS Code Ionide
source https://www.nuget.org/api/v2
framework >= net462
nuget FSharp.Data
nuget DotLiquid
@maestrow
maestrow / d3js_tutor.md
Created June 27, 2017 20:49
d3js tutorial

D3 - Data Driven Documents - Документы, управляемые данными. Для данной библиотеки существует большое количество учебных материалов и документации. Ссылка "Documentation" на главной странице сайта https://d3js.org ведет в вики-раздел на github. В версии 4 была переделана архитектура библиотеки.

D3 v4 is written using ES6 modules. It is composed of a number of microlibraries such as d3-selection, d3-scale, d3-color etc. This modular organization allows us to install and load the modules which are required in our project. On the contrary its predecessor D3 v3 was one big library that we were bound to load in its entirety even if we use only some of the functionalities.

@maestrow
maestrow / Static_Site_Generation_and_fs.md
Last active June 28, 2017 08:29
Static Site Generation and F#

Сегодня наткнулся на достойный внимания проект Fornax - генератор статических сайтов. Интересен он тем, что:

  • написан на F# :)
  • автор проекта KRZYSZTOF CIESLAK - активный деятель F# Open Source сообщества
  • в качестве шаблонов используется F# EDSL

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

Итак, какие инструменты генерации статических сайтов сегодня популярны:

@maestrow
maestrow / xplot_and_d3.md
Created June 27, 2017 22:09
Об XPlot и поддержке им D3

Недавно я рассуждал на тему адаптации библиотеки D3js для использования на F#. Я видел 2 варианта:

  1. Написать Fable-биндинг - F# интерфейс для существующей javascript-библиотеки;
  2. Портировать ключевые идеи библиотеки на F#: оси, шкалы, и т.д. - некий базовый функционал, которых позволит генерировать примитивы SVG. И также использовать Fable для компиляции F# кода в JS. Если подразумевается интерактивность, то можно задействовать fable-elmish в качестве ядра архитектуры визуального компонента.

Однако есть еще один вариант, который в частности используется в XPlot - генерировать javascript код :) по шаблонам. Т.е. есть ряд шаблонов, в которых на js конфигурируется график. А процессе рендеринга в местозаполнители подставляются данные. Пример шаблона: https://github.com/fslaborg/XPlot/blob/master/src/XPlot.D3/jsTemplate.js.