প্রকল্প সম্পর্কে
JavaForce (JF) একটি Java লাইব্রেরি ও SDK, সংস্করণ 118.1, LGPL লাইসেন্সের অধীনে, ডেস্কটপ অ্যাপ, কনসোল অ্যাপ ও সিস্টেম সার্ভিস তৈরির লক্ষ্যে। এটি Apache Ant দিয়ে বিল্ড করা হয় এবং JDK 25+ প্রয়োজন।
README-তে বর্ণিত মূল বৈশিষ্ট্য:
- SIP/VoIP/RTSP স্ট্যাক
- FFmpeg, OpenGL, Vulkan, OpenCL ও Camera-এর জন্য নেটিভ বাইন্ডিং
- PLC I/O
- কনসোল অ্যাপ, ডেস্কটপ অ্যাপ ও সিস্টেম সার্ভিসের জন্য কাস্টম নেটিভ লোডার
- অ্যাপকে msi, deb, rpm, pac ও dmg হিসেবে প্যাকেজ করার Ant টাস্ক
java.exe-এর বদলে JavaForce একটি কাস্টম নেটিভ লোডার বিল্ড করে যা JVM এমবেড করে, ক্লাসপাথ সেট করে, নেটিভ মেথড রেজিস্টার করে এবং প্রোগ্রামের main মেথড চালু করে। যারা কাস্টম লোডার ব্যবহার করতে চান না তাদের জন্য একটি শেয়ার্ড লাইব্রেরিতেও নেটিভ মেথড সরবরাহ করা হয়। প্রকল্পটি নেটিভ অ্যাক্সেসের জন্য JNI থেকে FFM (Foreign Function & Memory) API-তে সরে গেছে, অ্যারে পিন করার জন্য কিছু JNI রাখা হয়েছে।
অন্তর্ভুক্ত অ্যাপ্লিকেশন: README-তে jfPhone, jfVideo, jfAudio, jfMusic এবং অন্যান্যদের উল্লেখ আছে, সম্পূর্ণ তালিকা projects/readme.txt-এ। JavaForce হলো jfLinux-এর মূল লাইব্রেরি, একটি Java-সমৃদ্ধ Linux ডিস্ট্রিবিউশন, এবং এটি jfCraft, একটি Minecraft ক্লোন, তৈরিতেও ব্যবহৃত হয়।
রিপোজিটরি লেআউট: /src Java সোর্সের জন্য, /lib জেনারেটেড ও ডিপেন্ডেন্সি jar-এর জন্য, /native নেটিভ লোডারের জন্য, /projects সাব-প্রজেক্ট সোর্সের জন্য, /iso ও /linux ও /windows বিল্ড/ইনস্টল স্ক্রিপ্টের জন্য, এবং /utils ইউটিলিটি অ্যাপের জন্য।
বিল্ড: git ও Ant ইনস্টল করুন, লাইন এন্ডিং সেট করুন, রিপোজিটরি ক্লোন করুন, একটি ভার্সন ট্যাগ চেকআউট করুন, ant চালান, তারপর নেটিভ লোডার বিল্ড করুন। প্যাকেজিং টাস্কের মধ্যে deb, rpm, pac, msi (বান্ডল করা JRE সহ, WiX Toolset v4+ ব্যবহার করে), এবং dmg (macOS-এ hdiutil ব্যবহার করে) অন্তর্ভুক্ত। JRE প্রি-লিংকিং টাস্ক (jre-all, jre-base, jre-base-desktop, jre-base-javac) নেটিভ প্যাকেজিং সমর্থন করে। JavaForce Maven Central-এ প্রকাশিত হয়; Ant টাস্ক ডিপেন্ডেন্সি ডাউনলোড ও আপলোড পরিচালনা করে, এবং Sonatype প্রকাশের জন্য একটি ন্যূনতম pom.xml প্রয়োজন।
অন্যান্য বৈশিষ্ট্য: graalagent ও graal Ant টাস্কের মাধ্যমে GraalVM AOT সমর্থন (GraalVM AWT সমর্থন এখনও কাজ চলছে), JF_DEBUG ও JF_DEBUG_PORT এনভায়রনমেন্ট ভেরিয়েবল বা .cfg সেটিংসের মাধ্যমে JMX ডিবাগিং, এবং একটি .cfg ফাইল ফরম্যাট যা CLASSPATH, MAINCLASS, DEBUG, DEBUG_PORT, OPTIONS, JAVA_HOME ও METHOD নিয়ন্ত্রণ করে।
প্রয়োজনীয়তা: JDK 25+, Apache Ant 1.10+, Linux-এ gcc, Windows-এ VC++ ও WiX Toolset 4+, macOS-এ Xcode gcc, OpenGL/Vulkan-এর জন্য FFmpeg 7.1+ ও glfw 3.5.1। Wayland, Bluetooth ও RDP কম্পোনেন্ট কাজ চলছে হিসেবে তালিকাভুক্ত।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.