프로젝트 소개

Loxodon Framework는 Unity3D를 위해 특별히 설계된 경량 MVVM(Model-View-ViewModel) 프레임워크입니다. 데이터 바인딩과 다양한 유용한 컴포넌트를 포함합니다. 프레임워크의 성능은 세심하게 최적화되어 있으며, 값 타입의 박싱/언박싱을 피하고 가비지 컬렉션 오버헤드를 최소화합니다. 동적 델리게이트/정적 코드 위빙 기법을 사용하여 데이터 바인딩이 직접 호출과 비슷한 성능을 내고, UI 뷰 업데이트 중 가비지 컬렉션이 발생하지 않도록 합니다. 또한 실제 프로젝트에서 검증되어 우수한 성능, 안정성, 신뢰성을 보여주며 명확하고 확장 가능한 아키텍처를 갖추고 있습니다. 주요 기능은 다음과 같습니다: - MVVM 프레임워크 - 다중 플랫폼 지원 (PC/Mac/Linux, iOS, Android, UWP, WebGL) - 높은 확장성 - async & await 지원 (C# 및 Lua) - Lua용 try/catch/finally - XLua 지원으로 Lua 기반 게임 개발 - 비동기 결과 및 태스크 지원 - 예약 실행기 및 멀티스레딩 - 메시징 시스템 - 암호화 가능한 환경설정 - 지역화 지원 - 코드 위빙 - 데이터 바인딩 지원: 필드, 프로퍼티, 딕셔너리/리스트/배열, 이벤트, Unity EventBase, 정적 프로퍼티/필드, 메서드, 커맨드, ObservableProperty/Dictionary/List, 표현식 바인딩; 박싱/언박싱 방지, 동적 델리게이트/정적 코드 위빙으로 리플렉션 회피, GC 최소화, UI 뷰 업데이트 중 제로 GC 달성. 설치 및 상세 문서는 저장소에서 확인할 수 있습니다. 프레임워크는 Unity 2018.4 이상이 필요하며 .Net 4.x 및 .Net Standard 2.0, Mono와 IL2CPP를 지원합니다. 프레임워크를 확장하는 여러 플러그인이 있습니다: - Loxodon Framework OSA: Optimized ScrollView Adapter의 ListView와 GridView에 데이터 바인딩 추가. - Loxodon Framework TextFormatting: GC를 피하기 위해 StringBuilder AppendFormat을 확장하고, UGUI용 TemplateText 및 FormattableText 컨트롤 제공. - Loxodon Framework TextMeshPro: AlertDialog와 Toast에 TextMeshPro 지원, FormattableTextMeshProUGUI 및 TemplateTextMeshProUGUI로 GC 없는 뷰 업데이트 제공. - Loxodon Framework Data: Excel 데이터를 Json, Lua 또는 LiteDB로 내보내고, Json.Net을 통한 C# 객체 변환 지원. - Loxodon Framework Fody: ToString, PropertyChanged, BindingProxy용 정적 코드 위빙 플러그인. - Loxodon Framework UIToolkit: UIToolkit을 데이터 바인딩 및 혼합 UGUI 사용과 통합. - Loxodon Framework ILRuntime: ILRuntime 지원. - Loxodon Framework Localization For CSV: CSV 지역화 파일 지원. - Loxodon Framework XLua: Lua 스크립트 게임 개발 가능. - Loxodon Framework Bundle: 의존성 추적, 시뮬레이션 모드, 중복 분석을 갖춘 AssetBundle 관리자. - Loxodon Framework NLog 및 Log4Net: 로깅 플러그인. - Loxodon Framework Obfuscation: 메모리 편집을 방지하기 위한 숫자 타입 메모리 난독화. - Loxodon Framework Addressable: Unity Addressables 통합. - Loxodon Framework Connection: IPv4/IPv6 지원 TcpClient를 사용하는 네트워크 연결 컴포넌트. - DotNetty for Unity: Netty의 Unity 포트. - LiteDB: 경량 NoSQL 임베디드 데이터베이스. 저장소에는 퀵스타트 예제, 튜토리얼, 영어 및 중국어 문서가 포함되어 있습니다.