흐름 기반 프로그래밍 (FBP) : 70 년대 개념의 현대 부흥
1970 년대에 시작된 개념 인 FBP (Flow-Based Programming)는 기술 세계에서 부활을 경험하고 있습니다. 프로그램 흐름에 대한 시각적으로 직관적 인 접근 방식은 객체 지향 프로그래밍에 대한 강력한 대안을 제공하여 코드 선명도와 유연성을 약속합니다.
Henri Bergius와 Forrest Oliphant가 개발 한 FBP 환경의 핵심 플레이어 인 noflo는 혁신적인 기능으로 두드러집니다. 그래프 작성을 위해 JSON을 활용하고 오픈 소스 프레임 워크를 사용하며, UI 자체는 코드를 생성하지 않습니다. NOFLO 구성 요소는 다양한 입력 및 출력에 동적으로 적응하여 적응성을 향상시킵니다.
처음에는 개발자 회의론을 만났지만 FBP의 장점은 점점 더 명백 해지고 있습니다. 고유의 모듈성 및 재사용 성, 명확한 데이터 흐름 시각화 및 동시 실행 지원은 상당한 이점을 제공합니다. 그러나 전통적인 제어 흐름 패러다임에 익숙한 프로그래머에게는 학습 곡선이 가파르게 될 수 있습니다.
주목할만한 측면은 과거 시대에 고안된 워크 플로의 부흥입니다. FBP의 선구자 인 J. Paul Morrison의 1970 년대 은행 시스템은 시각적으로 복잡한 논리를 나타내는 힘을 보여 주었고, 비 기술적 사용자에게도 액세스 할 수있게했습니다. 이 기사는 FBP의 핵심 원칙과 NOFLO를 통한 최신 구현을 탐구합니다.
fbp의 본질을 이해합니다
이래로 Morrison의 FBP 시스템은 소프트웨어 개발 서클 내에서 제한된 관심을 끌었습니다. 그러나 FBP는 시각적 효과, 영화 제작, 인공 지능 및 애호가 프로그래밍과 같은 다양한 분야의 응용 프로그램을 조용히 발견했습니다.
시각적으로 프로그램 흐름을 나타내고 엄격한 객체 지향 구조에서 멀어지면서 더 이해하기 쉽고 유연한 코드를 가리 킵니다. 문제는 여전히 남아 있습니다 : FBP의 광범위한 채택이 느려진 이유는 무엇입니까?
FlowHub 네트워크의 출현, 특히 JavaScript의 NOFLO는 잠재적 인 답을 제공합니다.
noflo 탐색
성공적인 킥 스타터 캠페인으로 뒷받침되는 Henri Bergius와 Forrest Oliphant의 NOFLO 프로젝트는 몇 가지 주요 기능을 통해 초기 FBP와 같은 시스템 (예 : Yahoo Pipes, Quartz Composer)과 구별됩니다.
JSON 기반 그래프 생성
오픈 소스 프레임 워크 (폐쇄 된 호스팅 인프라에도 불구하고)
UI 코드 생성이 없습니다
runtimes는 다양한 언어 (Java 및 Objective-C 포함)를 위해 개발되고 있습니다.
사용자 정의 구성 요소 생성 및 테스트가 지원됩니다
-
FlowHub는 프로그램 구성 요소를 나타내는 상호 연결된 노드로 구성된 그래프로 논리를 구성합니다. 이 노드는 수신 정보 패킷 (IIP)에 응답, 기능을 기반으로 데이터를 처리 및 출력합니다. OOP의 통신 복잡성과 달리 FBP는 구성 요소 연결에만 중점을 둡니다. Noflo의 킥 스타터의 인용문은 전통적인 소프트웨어 개발의 확장 성 문제를 강조합니다.
- "그게 구축 소프트웨어입니다. 자체 체중이 무너지기 전에 얼마나 많은 발판을 세울 수 있는지… 한 사람을 더 추가하는 규모, 그 사람과 의사 소통 할 에너지의 양은 실제로 프로젝트에 대한 순 기여보다 크기 때문에 속도가 느려집니다.” - Steve Jobs
FBP로의 전환은 현저하게 개발자들 사이의 우려를 제기합니다. 설계자 및 제품 관리자가 액세스 할 수있는 단순화 된 구성 요소 연결로 인한 작업 변위에 대한 두려움이 유효합니다. 그러나 FBP의 유연성은 잠재적 인 단점을 능가 할 수 있습니다. 사용자 지정 구성 요소 개발, 기존 코드와의 FBP 통합 및 잠재적 UI 제한에 관한 질문이 남아 있습니다.
실용적인 noflo 예
NOFLO의 FBP 인터페이스를 탐색합시다. 가입 한 후 (GitHub 계정이 필요) 저장소에 배포 할 수 있습니다. 인터페이스는 계획의 런타임에 따라 다를 수 있습니다
-
맵은 복잡한 네트워크에서 내비게이션을 지원합니다. 스케일링은 꼬집거나 스 와이프를 통해 직관적입니다
-
인터페이스 내비게이션은 간단합니다 (클릭-보간 드래그). 검색 창에는 사전 구축 된 구성 요소가 나열됩니다 (CSS, 데이터베이스 호출, 수학 기능 등).
사용자 정의 구성 요소 생성 및 테스트는 텍스트 편집기 인터페이스를 통해 가능합니다.
-
최종 생각 FBP의 시각적 특성은 초기 학습 곡선이 극복되면 독특한 자유를 제공합니다. 복잡한 프로젝트의 경우 논리 흐름의 시각적 표현이 더욱 가치가 있습니다. 협업 측면은 스케치 또는 의사 코드와 유사하여 코딩하기 전에 명확한 개요를 제공합니다. 이것은 텍스트가 적고 시각적 프로그래밍이 적은 미래를 시사합니다.
NOFLO 코드 또는 브라우저 인터페이스 실험 (GitHub 로그인 후).
(자주 묻는 질문 섹션은 이미 더 간결하고 매력적인 방식으로 제시된 정보의 반복이므로 생략됩니다.)
위 내용은 NOFLO를 통한 흐름 기반 프로그래밍의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!