- Notifications
You must be signed in to change notification settings - Fork0
A Java to iOS Objective-C translation tool and runtime.
License
tappytaps/j2objc
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Project site:https://j2objc.org
J2ObjC blog:https://j2objc.blogspot.com
Questions and discussion:https://groups.google.com/group/j2objc-discuss
J2ObjC is an open-source command-line tool from Google that translatesJava source code to Objective-C for the iOS (iPhone/iPad) platform. This toolenables Java source to be part of an iOS application's build, as no editingof the generated files is necessary. The goal is to write an app's non-UIcode (such as application logic and data models) in Java, which is thenshared by web apps (usingGWT), Android apps,and iOS apps.
J2ObjC supports most Java language and runtime features required byclient-side application developers, including exceptions, inner andanonymous classes, generic types, threads and reflection. JUnit testtranslation and execution is also supported.
J2ObjC is currently beta quality. Several Google projects rely on it, butwhen new projects first start working with it, they usually find new bugsto be fixed. If you run into issues with your project, please report them!
J2ObjC does not provide any sort of platform-independent UI toolkit, nor arethere any plans to do so in the future. We believe that iOS UI code needs tobe written in Objective-C, Objective-C++ or Swift using Apple's iOS SDK (AndroidUIs using Android's API, web app UIs using GWT, etc.).
J2ObjC cannot convert Android binary applications. Developers must have sourcecode for their Android app, which they either own or are licensed to use.
- JDK 11
- Mac workstation or laptop
- OS X 10.12 or higher
- Xcode 8 or higher
This library is distributed under the Apache 2.0 license found in theLICENSE file.The protocol buffers library is distributed under the same BSD license asGoogle's protocol buffers. See itsREADME andLICENSE.
To build and run on GNU/Linux, installthe Darling project, then followingits Compile and Run a Program example. Please note that j2objc is only supported on iOS/macOS.
This project publishes some artifacts through Maven Central with agroupId
ofcom.google.j2objc
.These artifacts are currently signed with [the following PGP/GPG key](https://keyserver.ubuntu.com/pks/lookup?op=get&search=0xeb1b3de71713c9ec2e87cc26ee92349ad86de446):
pub rsa2048 2023-01-10 [SC] [expires: 2025-01-09] EB1B3DE71713C9EC2E87CC26EE92349AD86DE446uid [ unknown] Thomas Ball <tball@google.com>sub rsa2048 2023-01-10 [E] [expires: 2025-01-09]
Older artifacts are signed with the following PGP/GPG key:
pub rsa2048 2015-09-25 [SC] B801E2F8EF035068EC1139CC29579F18FA8FD93Buid [ unknown] Tom Ball <tball724@gmail.com>sub rsa2048 2015-09-25 [E]
About
A Java to iOS Objective-C translation tool and runtime.
Resources
License
Stars
Watchers
Forks
Packages0
Languages
- Java93.2%
- Objective-C3.0%
- C1.4%
- Makefile1.1%
- C++0.7%
- Objective-C++0.4%
- Other0.2%