ఏరియా 9 కంపెనీ తెరిచింది ఫంక్షనల్ ప్రోగ్రామింగ్ లాంగ్వేజ్ సోర్స్ కోడ్లు ప్రవాహం9, వినియోగదారు ఇంటర్ఫేస్లను సృష్టించడంపై దృష్టి పెట్టింది. Flow9 భాషలోని కోడ్ని Linux, iOS, Android, Windows మరియు macOS కోసం ఎక్జిక్యూటబుల్ ఫైల్లుగా కంపైల్ చేయవచ్చు మరియు HTML5/JavaScript (WebAssembly)లో వెబ్ అప్లికేషన్లలోకి లేదా జావా, D, Lisp, ML మరియు C++లోని సోర్స్ టెక్స్ట్లలోకి అనువదించవచ్చు. కంపైలర్ కోడ్ తెరిచి ఉంది GPLv2 కింద లైసెన్స్ పొందింది మరియు ప్రామాణిక లైబ్రరీ MIT లైసెన్స్ క్రింద లైసెన్స్ పొందింది.
అడోబ్ ఫ్లాష్కు సార్వత్రిక మరియు బహుళ-ప్లాట్ఫారమ్ ప్రత్యామ్నాయంగా 2010 నుండి భాష అభివృద్ధి చెందుతోంది. Flow9 అనేది వెబ్ మరియు డెస్క్టాప్ మరియు మొబైల్ అప్లికేషన్ల కోసం ఉపయోగించబడే ఆధునిక గ్రాఫికల్ ఇంటర్ఫేస్లను రూపొందించడానికి ఒక వేదికగా ఉంచబడింది. ప్రాజెక్ట్ అనేక అంతర్గత Area9 ప్రాజెక్ట్లలో ఉపయోగించబడుతుంది మరియు దీనిని మొదట ఫ్లో అని పిలుస్తారు, అయితే కోడ్ను తెరవడానికి ముందు స్టాటిస్టికల్ ఎనలైజర్తో జోక్యాన్ని నివారించడానికి దాని పేరును Flow9గా మార్చాలని నిర్ణయించారు. ఫ్లో Facebook నుండి.
Flow9 అనేది C లాంగ్వేజ్కి సమానమైన సుపరిచితమైన సింటాక్స్ని మిళితం చేస్తుంది (చూడండి పోలిక Flow9 మరియు JavaScriptలో కోడ్), శైలిలో ఫంక్షనల్ ప్రోగ్రామింగ్ సాధనాలతో ML и అవకాశాలు డొమైన్-నిర్దిష్ట భాషలు నిర్దిష్ట సమస్యలను సాధ్యమైనంత సమర్ధవంతంగా పరిష్కరించడంపై దృష్టి సారించాయి (Flow9 కోసం ఇది ఇంటర్ఫేస్ అభివృద్ధి). Flow9 కఠినమైన టైపింగ్ని ఉపయోగించడానికి రూపొందించబడింది, అయితే అవసరమైతే, ఆటోమేటిక్ టైప్ డిటెక్షన్తో డైనమిక్ టైపింగ్ను ఉపయోగించడం సాధ్యమవుతుంది, అలాగే లింకులు. పాలిమార్ఫిజమ్కు మద్దతు ఉంది (ఒక ఫంక్షన్ వివిధ రకాల డేటాను ప్రాసెస్ చేయగలదు), సబ్టైప్లు, మాడ్యూల్స్, శ్రేణులు, హ్యాష్లు, లాంబ్డా ఎక్స్ప్రెషన్లను సృష్టించగల సామర్థ్యం.
వేర్వేరు ప్లాట్ఫారమ్ల కోసం ఒకే కోడ్ని సంకలనం చేయవచ్చు, ప్రత్యేక పోర్టింగ్ మరియు కోడ్కు మార్పులు అవసరం లేకుండా. అదే అప్లికేషన్ బ్రౌజర్లో, టచ్ స్క్రీన్లు ఉన్న మొబైల్ పరికరాల్లో మరియు కీబోర్డ్ మరియు మౌస్తో డెస్క్టాప్ సిస్టమ్లలో రన్ అవుతుంది. మేము Google మెటీరియల్ డిజైన్ కాన్సెప్ట్కు అనుగుణంగా రూపొందించబడిన రియాక్ట్ స్టైల్లో ఇంటర్ఫేస్ ఎలిమెంట్లతో కూడిన కాంపోనెంట్ల రెడీమేడ్ సేకరణను అందిస్తున్నాము. డిజైన్ను పిక్సెల్ స్థాయి వరకు నియంత్రించవచ్చు. శైలులను సెట్ చేయడానికి చెయ్యవచ్చు ప్రామాణిక CSS సింటాక్స్ ఉపయోగించండి. C++లో కంపైల్ చేసినప్పుడు Linux, macOS మరియు Windowsలో రెండరింగ్ కోసం ఉపయోగించబడుతుంది OpenGLతో Qt ఆధారంగా బ్యాకెండ్, మరియు Java - JavaFXలో కంపైల్ చేసినప్పుడు.
ఫంక్షనల్ ప్రోగ్రామింగ్ టెక్నిక్ల వినియోగానికి ధన్యవాదాలు, వ్రాసిన కోడ్ మరియు ఇంటర్ఫేస్ భాగాలను ఇతర ప్రాజెక్ట్ల నుండి సులభంగా తీసుకోవచ్చు. భాష చాలా కాంపాక్ట్ మరియు 25 కీలక పదాలను మాత్రమే కలిగి ఉంటుంది మరియు వ్యాకరణ వివరణ వ్యాఖ్యలతో పాటు 255 పంక్తులకు సరిపోతుంది. Flow9లో ఒకే విధమైన కార్యాచరణను అమలు చేయడానికి, HTML+CSS+JavaScript, C#, Swift లేదా Java కంటే 2-4 రెట్లు తక్కువ కోడ్ అవసరం. ఉదాహరణకు, Tic-Tac-Toe నుండి పరీక్ష అప్లికేషన్ కోసం అయితే మార్గదర్శకులు రియాక్ట్ కోసం ఇది రియాక్ట్/జావాస్క్రిప్ట్/HTML/CSSలో 200 లైన్ల కోడ్ను వ్రాయవలసి వచ్చింది, Flow9 కోసం మేము దీన్ని 83 లైన్లలో చేయగలిగాము. అంతేకాకుండా, ఈ అప్లికేషన్ బ్రౌజర్లో మాత్రమే ప్రారంభించబడదు, కానీ iOS మరియు Android కోసం మొబైల్ అప్లికేషన్ల రూపంలో కూడా సంకలనం చేయబడుతుంది.
ప్లాట్ఫారమ్ ప్రధాన ఫ్లోక్ కంపైలర్ను కలిగి ఉంది, ఇది ఫ్లో9లో వ్రాయబడింది మరియు సంకలన సర్వర్గా పని చేయగల సామర్థ్యాన్ని కలిగి ఉంటుంది; ఫ్లో రిఫరెన్స్ కంపైలర్ (లో వ్రాయబడింది హాక్స్); gdb ప్రోటోకాల్ మద్దతుతో డీబగ్గర్; మెమరీ ఎనలైజర్ మరియు చెత్త కలెక్టర్ డీబగ్గర్తో ప్రొఫైలింగ్ సిస్టమ్; x86_64 సిస్టమ్స్ కోసం JIT కంపైలర్; ARM మరియు ఇతర ప్లాట్ఫారమ్ల కోసం వ్యాఖ్యాత; కోడ్ యొక్క అత్యంత పనితీరు-క్లిష్టమైన భాగాల యొక్క C++ మరియు జావాలో ఎంపిక చేసిన సంకలనం కోసం సాధనాలు; కోడ్ ఎడిటర్లతో ఏకీకరణ కోసం ప్లగిన్లు విజువల్ కోడ్, సబ్లైమ్ టెక్స్ట్, కేట్ మరియు ఇమాక్స్; పార్సర్ జనరేటర్ (PEG).