Забони барномасозии Flow9 манбаи кушода

Ширкати майдони 9 кушод рамзҳои манбаи забони барномасозӣ функсионалии Ҷараён 9, ба эҷоди интерфейсҳои корбар нигаронида шудааст. Рамз дар забони Flow9 метавонад ба файлҳои иҷрошаванда барои Linux, iOS, Android, Windows ва macOS тартиб дода шавад ва ба барномаҳои веб дар HTML5/JavaScript (WebAssembly) ё матнҳои сарчашма дар Java, D, Lisp, ML ва C++ тарҷума карда шавад. Рамзи компилятор кушодан аст, ки дар доираи GPLv2 иҷозатнома ва китобхонаи стандартӣ аст, тибқи иҷозатнома MIT иҷозатнома.

Ин забон аз соли 2010 ҳамчун алтернативаи универсалӣ ва бисёрплатформавӣ ба Adobe Flash таҳия мешавад. Flow9 ҳамчун платформа барои эҷоди интерфейсҳои графикии муосир ҷойгир аст, ки онҳоро ҳам барои веб, ҳам барои барномаҳои мизи корӣ ва мобилӣ истифода бурдан мумкин аст. Лоиҳа дар бисёре аз лоиҳаҳои дохилии Area9 истифода мешавад ва дар аввал Flow ном дошт, аммо пеш аз кушодани код тасмим гирифта шуд, ки номи онро ба Flow9 иваз кунад, то ба таҳлилгари омор халал нарасонад. маљрои аз Facebook.

Flow9 синтаксиси шиносро ба забони Си муттаҳид мекунад (ниг муқоиса код дар Flow9 ва JavaScript), бо асбобҳои функсионалии барномасозӣ дар услуб ML и имкониятҳо забонҳои мушаххаси домен, ки ба ҳалли мушкилоти мушаххас то ҳадди имкон самараноктар нигаронида шудаанд (барои Flow9 ин таҳияи интерфейс аст). Flow9 барои истифодаи чопкунии қатъӣ тарҳрезӣ шудааст, аммо дар ҳолати зарурӣ чопкунии динамикӣ бо муайянкунии автоматии навъи типро истифода бурдан мумкин аст. пайвандҳо. Полиморфизм дастгирӣ карда мешавад (як функсия метавонад маълумотҳои намудҳои гуногунро коркард кунад), қобилияти эҷоди зертипҳо, модулҳо, массивҳо, хэшҳо, ифодаҳои лямбда.

Рамзи якхеларо барои платформаҳои гуногун бидуни зарурати интиқоли алоҳида ва тағирот ба код тартиб додан мумкин аст. Ҳамин барнома метавонад дар браузер, дар дастгоҳҳои мобилии дорои экранҳои сенсорӣ ва дар системаҳои мизи корӣ бо клавиатура ва муш кор кунад. Мо маҷмӯи тайёри ҷузъҳоро бо унсурҳои интерфейс дар сабки React пешниҳод менамоем, ки мувофиқи консепсияи Google Material Design тарҳрезӣ шудааст. Тарҳро то сатҳи пиксел назорат кардан мумкин аст. Барои муқаррар кардани услубҳо метавонад синтаксиси стандартии CSS-ро истифода баред. Барои намоиш дар Linux, macOS ва Windows ҳангоми тартиб додани C++ истифода бурда мешавад backend дар асоси Qt бо OpenGL, ва вақте ки дар Java тартиб дода - JavaFX.

Ба шарофати истифодаи усулҳои функсионалии барномасозӣ, рамзи хаттӣ ва ҷузъҳои интерфейсро ба осонӣ аз дигар лоиҳаҳо гирифтан мумкин аст. Забон хеле паймон буда, ҳамагӣ 25 калимаи калидиро дар бар мегирад ва тавсифи грамматикӣ дар баробари шарҳҳо ба 255 сатр мувофиқат мекунад. Барои татбиқи функсияҳои шабеҳ дар Flow9, нисбат ба HTML+CSS+JavaScript, C#, Swift ё Java 2-4 маротиба камтар код лозим аст. Масалан, агар барои дархости санҷишӣ Tic-Tac-Toe аз дастурҳо барои React навиштани 200 сатри код дар React/JavaScript/HTML/CSS лозим буд, барои Flow9 мо тавонистем онро дар 83 сатр иҷро кунем. Гузашта аз ин, ин барномаро на танҳо дар браузер оғоз кардан мумкин аст, балки дар шакли замимаҳои мобилӣ барои iOS ва Android низ тартиб дода мешавад.

Платформа компилятори асосии flowc-ро дар бар мегирад, ки дар Flow9 навишта шудааст ва метавонад ҳамчун сервери компилятсионӣ кор кунад; компилятори истинод ба ҷараёни (навишта шудааст дар ҳакс); debugger бо дастгирии протоколи gdb; системаи профилсозӣ бо анализатори хотира ва ислоҳкунандаи партовҳо; Компилятори JIT барои системаҳои x86_64; тарҷумон барои ARM ва дигар платформаҳо; асбобҳо барои тартиб додани интихобӣ дар C++ ва Java қисмҳои муҳимтарини иҷроиш код; плагинҳо барои ҳамгироӣ бо муҳаррирони код Visual Code, Sublime Text, Kate ва Emacs; генератори таҳлилгар (сих).

Манбаъ: opennet.ru

Илова Эзоҳ