Cross-Platform, Cross-Language Application Development: An Introduction to Elements

2019年12月15日 70点热度 0人点赞 1条评论
内容目录

 Table of Contents

1. Introduction to Elements

2. Elements Versions

3. What Can Elements Do

4. Elements IDEs

5. Elements Tools

 

 


1. Introduction to Elements

RemObjects Elements is a multi-platform mobile project development tool that helps developers create mobile projects on different platforms.

Developer: Remobjects Software

  • Elements is available on two operating systems: Windows, Mac

  • Four versions: Visual Studio 2017 Integrated, Professional, Enterprise, and Free Community Edition

  • Supports four programming languages: Oxygene, Java, C#, Swift (Versions before 10.0 only supported Java, C#, and Swift)

  • Elements uses C# from RemObjects C#, which is powerful enough to modify a language and improve its features~~ impressive~

  • Elements has its own development environments Fire, Water (can also be understood as integrated development tools)

  • Oxygene is an object-oriented programming language based on Object Pascal, with a rich feature set. It is a port of Pascal and belongs to the .NET CLR series of languages~~~

  • The integrated version can be used with VS 2017, named Elements in Visual Studio

Summary:

Elements is a multi-platform mobile project development tool that allows development using various programming languages like Oxygene, C#, Swift, and Java, providing a rich, modern development environment. It expands developers' capabilities based on existing programming experience, greatly facilitating software project development.


 2. Elements Versions

Elements offers three versions aimed at developers and enterprises based on usage fees.

 

Version Name

Description

Price

Silver

Community Edition

Use the Swift language to create apps.
For all platforms, working in Fire on the Mac,
and in Water or Visual Studio on Windows.

In summary, it allows you to create applications using Swift,

and work on Mac and Win (integrated with Visual Studio).

Free

Elements

Developer License

Use Oxygene, C#, Swift or Java to create apps.
Get support and weekly updated builds.
License is per named developer.

Use Oxygene, C#, Swift, or Java to create applications.

Get technical support and weekly updates.

License is provided per user, meaning a single-user license.

$799

Elements

Company License

Use Oxygene, C#, Swift or Java to create your apps.
Get priority support and access to daily builds.
License covers all developers on your team.

Use Oxygene, C#, Swift, or Java to create applications.

Get priority support and access to daily builds.

The license covers all developers in your team, essentially a company-wide license.

$7999

Of course, students and teachers have it easier~ There is an academic version.

Elements

Academic License

Use Oxygene, C#, Swift, or Java to create apps. 
Get support and weekly updated builds. 
License is per named student, teacher, or researcher.

$199

Elements

Class License

Use Oxygene, C#, Swift or Java to create your apps. 
License covers all users in your class. 

$999


 3. What Can Elements Do

Elements can create applications for Android, iOS, Mac under Win/Mac systems, and importantly, you can use C#, Swift, Java or any of these languages for development. Amazing, right? (Of course, this doesn't mean using different code for the same project...)

Similar products on .NET include Microsoft-acquired Xamarin, which helps you create mobile apps using C# and Xamarin, yet even .NET developers rarely use Xamarin. In reality, there are many solutions for cross-platform, cross-language mobile application development, and Xamarin does not have a significant advantage.

The following are the types of applications that Elements can develop:


 4. Elements IDEs

Here is the internal structure diagram of Elements; the left box represents the environment and compiler, equivalent to .NET. The right box represents the IDE editor, i.e., the development tools.

 

Elements offers strong development environment support and multiple IDE tools, and its IDE is also impressive, with 4 versions of IDE.

1. Fire

Used for development on Mac, supporting four languages and all platform developments, including .NET, Java, Android, Windows and Linux applications.

Features:

  • Advanced editing functionality

  • Unit testing integration

  • Cross-platform debugging and deployment

2. Water

Used for application development in Windows, I won't go into further detail~~~

3. Elements in VS

Elements is comprehensively integrated with Visual Studio, extending to almost all aspects of the IDE, with the following features:

  • Universal project templates for all elements languages and platforms

  • Intelligent code editor with smart insights and advanced productivity features

  • Rich debugging capabilities for all platforms, including cross-network debugging for Mac, Linux and iOS

  • Seamless interaction with Elements.NET projects, Microsoft Visual C# and Visual Basic projects

  • Full support for visual designers, including WinForms, WPF, ASP.NET, etc.

  • EBuild is deeply integrated with the Visual Studio build infrastructure

We can see it in Elements in VS (Elements with Visual Studio):

 4. Command Line

Whether on Mac, Windows or Linux, you can build projects using the IDE editor and EBuild command line. Just use the standalone EBuild command from the terminal or automatically generated scripts. EBuild is the underlying framework, while Fire, Water, Vs are the IDE tools. You can write applications using the command line or notepad (if you are good enough~), and you can also integrate EBuild into third-party IDE.

According to official information, EBuild will be open-sourced on Github, but I just looked on Github and found no trace of it.


5. Elements Tools

Elements provides powerful tools that let you soar in development.

  • CrossBox

  • FXGen

  • Profiler

  • Obfuscation

  • Oxidizer

  • Marzipan

CrossBox 

CrossBox is a cross-platform system debugging project and build project solution. With CrossBox, you can debug applications on Mac, Linux from Windows, and vice versa. CrossBox does not include the operating system and requires a remote connection to the host you intend to debug. This means you provide a physical device, and CrossBox allows you to debug applications running on the remote host, feeding test and debugging data back to the development host.

 

Mac hosts using CrossBox support the following platforms and operating systems:

Platform SubPlatform Build Debug Comments
.NET   local local

.NET projects build and run locally on Windows

Translation: Build and run .NET projects on Windows; I won’t translate further.

Java Plain local local Java projects build and run locally on Windows
Java Android local locally attached device Java projects build and run locally on Windows
Cocoa macOS CrossBox 2 CrossBox 2 Need a Mac to build and will debug remotely
Cocoa iOS CrossBox 2 CrossBox 2 Need a Mac to build and will debug remotely
Cocoa tvOS CrossBox 2 CrossBox 2 Need a Mac to build and will debug remotely
Island Windows local local Build and run locally
Island Linux local local, CrossBox 2 Build locally, debug locally or remotely
Island Darwin local CrossBox 2 Build locally, debug remotely

 

Win hosts using CrossBox support the following platforms and operating systems:

Platform SubPlatform Build Debug Comments
.NET   local local .NET projects build and run locally on Mac
Java Plain local local Java projects build and run locally on Mac
Java Android local locally attached device Java projects build locally on Mac
Cocoa macOS local local Cocoa apps build and run locally on Mac
Cocoa iOS local locally attached iOS device Cocoa apps build locally on Mac
Cocoa tvOS local locally attached Apple TV Cocoa apps build locally on Mac
Island Windows local CrossBox 2 Build locally, debug remotely
Island Linux local CrossBox 2 Build locally, debug remotely
Island Darwin local local, CrossBox 2 Build locally, debug locally or remotely

FXGen

GUI frontend command line tool, related to macOS, iOS, tvOS and watchOS, now supports Objective-C. The author’s English is poor, the official introduction seems to incorporate Xcode (the development tool for developing Apple products on Mac) project files into the Elements IDE, associating .fx and .h files.

Profiler

A cross-platform performance analyzer that monitors code execution and application performance on remote hosts, analyzing performance data.

Obfuscation

Tools to protect code and prevent decompilation. According to the official explanation, it utilizes code obfuscation techniques.

The author's English is truly poor...

Oxidizer

Supports code reuse from programming languages such as C#, Java, Objective-C, Delphi, Oxygene, Swift within a project, allowing the usage of code from other languages and converting it.

In other words, if your C# project needs to use an algorithm found in Java on Baidu, then Oxidizer can help you perfectly and seamlessly convert it to C#~

Languages supported for conversion:

 

Source Language Convert To
C# Oxygene
C# Swift
Java Oxygene
Java C#
Java Swift
Objective-C Oxygene
Objective-C C#
Objective-C Swift
Delphi Oxygene

The official announcement states that Swift to C# and Oxygene conversions are coming soon...

 


Did you enjoy it? Give me a like!

 

痴者工良

高级程序员劝退师

文章评论