All Projects → DelphiWorlds → Kastri

DelphiWorlds / Kastri

Licence: mit
Cross-platform library for Delphi

Programming Languages

pascal
1382 projects
delphi
115 projects

Projects that are alternatives of or similar to Kastri

Curve Studio
Minimalist Electron app for designing spline curves
Stars: ✭ 140 (-5.41%)
Mutual labels:  cross-platform
Bluepyopt
Blue Brain Python Optimisation Library
Stars: ✭ 143 (-3.38%)
Mutual labels:  cross-platform
Stitch
Python Remote Administration Tool (RAT)
Stars: ✭ 2,018 (+1263.51%)
Mutual labels:  cross-platform
Google Assistant Unofficial Desktop Client
A cross-platform unofficial Google Assistant Client for Desktop (powered by Google Assistant SDK)
Stars: ✭ 2,534 (+1612.16%)
Mutual labels:  cross-platform
Delir
Web Technology driven VFX Application
Stars: ✭ 142 (-4.05%)
Mutual labels:  cross-platform
Downline
Free cross-platform desktop app to download videos and music from YouTube and many other sites
Stars: ✭ 146 (-1.35%)
Mutual labels:  cross-platform
Zipstorer
A Pure C# Class to Store Files in Zip
Stars: ✭ 139 (-6.08%)
Mutual labels:  cross-platform
Innocenceengine
Cross-platform modern game engine.
Stars: ✭ 149 (+0.68%)
Mutual labels:  cross-platform
Nogo
A cross-platform network-wide ad/site blocker with a simple web control panel.
Stars: ✭ 143 (-3.38%)
Mutual labels:  cross-platform
Omnigui
A cross-platform GUI framework from scratch just to learn
Stars: ✭ 147 (-0.68%)
Mutual labels:  cross-platform
Awesome Cross Platform Apps
the awesome list of cross platform apps solutions(跨平台app方案合集)
Stars: ✭ 140 (-5.41%)
Mutual labels:  cross-platform
Liteexchange
My programming lab : multithreaded order matching engine in C++11 using FIX for order entry for Linux/Windows , no 3rd party libraries
Stars: ✭ 142 (-4.05%)
Mutual labels:  cross-platform
Siris
DEPRECATED: The community driven fork of Iris. The fastest web framework for Golang!
Stars: ✭ 146 (-1.35%)
Mutual labels:  cross-platform
Rpa Python
Python package for doing RPA
Stars: ✭ 2,449 (+1554.73%)
Mutual labels:  cross-platform
Imguifontstudio
Font Helper Gui Tool for programming
Stars: ✭ 149 (+0.68%)
Mutual labels:  cross-platform
Cityengine Sdk
CityEngine is a 3D city modeling software for urban design, visual effects, and VR/AR production. With its C++ SDK you can create plugins and standalone apps capable to execute CityEngine CGA procedural modeling rules.
Stars: ✭ 137 (-7.43%)
Mutual labels:  cross-platform
Rpcx Gateway
http gateway for rpcx services. Clients in any programming languages can call them
Stars: ✭ 145 (-2.03%)
Mutual labels:  cross-platform
Dgle
Powerful independent cross-platform engine for 2D/3D games and visualizations. Young, strong and crazy!
Stars: ✭ 149 (+0.68%)
Mutual labels:  cross-platform
Algernon
🎩 Small self-contained pure-Go web server with Lua, Markdown, HTTP/2, QUIC, Redis and PostgreSQL support
Stars: ✭ 1,880 (+1170.27%)
Mutual labels:  cross-platform
Polyfem
A polyvalent C++ FEM library
Stars: ✭ 147 (-0.68%)
Mutual labels:  cross-platform

Kastri

logo

From Delphi Worlds

Compatible with Embarcadero Delphi. Please note: Only the last two point releases of major releases (e.g. at present that includes 10.3.3 and 10.4.1) are "officially" supported.

Development of Kastri can be helped along with Github Sponsorship, so please consider sponsoring today!

Please star this repo by clicking the Star box in the top right corner if you find it useful!

If you're looking to learn Delphi, please visit this link

Kastri

  • Is a cross-platform library which builds upon the existing RTL, FMX and VCL libraries in Delphi
  • Supports a number of newer APIs that you won't find in FMX/RTL, and "backfills" for missing APIs
  • Is structured in a way so as to avoid creating unnecessary dependencies
  • Follows strict coding standards to ensure consistency and readability
  • Is kept as simple as practicable
  • Is named after the place in Greece where Delphi once stood

Intro video

This is a link to an intro video for Kastri

How To Use Kastri

With Kastri, there are no components to install. Simply clone the repo (Fork is a highly recommended Git client), or download/unzip and ensure that your Project (recommended) or IDE paths point to the folders of the units that you use.

Support

Issues page

If you encounter an issue, or want to request an enhancement, please visit the issues page to report it.

Slack Channel

The Delphi Worlds Slack workspace has a channel (#kastri) devoted to discussing Kastri. There you will find Dave Nottage (when he is available) and other developers who are passionate about Kastri to discuss how to use Kastri, what is in it etc.

Sponsors of Kastri have access to the private #sponsors channel where they receive priority support.

If you would like to join the Delphi Worlds Slack workspace, please visit this self-invite link

What Is In Kastri?

Demos

You'll find demo applications in the Demos folder, including those associated with articles posted on the Delphi Worlds blog

API imports

In the API folder you will find imports for a number of iOS, Android and Linux APIs that are either not included with Delphi, serve to complete missing APIs, or are imports for Java code contained in Kastri. Most of these are used in the Kastri Features and/or demos however some are included due to interest from developers.

Core units

Units in the Core folder contain code of a wealth of cross-platform related implementations. Units that have platform specific code are suffixed with one of:

  • .Android.pas
  • .iOS.pas
  • .Linux.pas
  • .Mac.pas - can be for both iOS and macOS
  • .Posix.pas - for Posix-based platforms (iOS, macOS, Android, Linux)
  • .Win.pas

Implementations include:

  • DW.OSLog - logging code that serves to replace Log.d, which relies on FMX, and cannot be used in an Android service
  • DW.OSDevice - code that returns information that is mostly device-specific
  • DW.OSTimer - leaner, less complex implementation of a timer. Also does not rely on FMX, so can be used in an Android service

Features

The Features folder contains more feature-rich cross-platform implementations of APIs. These are structured in such a way so as to shield your cross-platform code from the platform-specific implementation. There are demos for each of the features in the Demos folder Features include:

Biometric

Android and iOS implementations of biometric functions, namely: Fingerprint recognition on Android, and Fingerprint and FaceID on iOS

Camera

Android and iOS implementations of native camera support

Connectivity

Android, macOS, iOS and Windows implementations of code for checking network connectivity of a device

Files Selector

Uses native APIs to allow users to select one or more files on the device, for Android and iOS

Firebase

Android and iOS implementations of Firebase Cloud Messaging using their native libraries

NFC

Near-Field Communication implementations for Android and iOS

Notifications

Framework that is alternative to TNotificationCenter (that ships with Delphi) for Notifications on Android and iOS

Share Items

A more feature-rich alternative for the Share Sheet implementation provided with Delphi, for Android and iOS

Speech Recognition

Android and iOS implementations for speech-to-text services. On Android, the actual speech API is used, rather than via Intents

Planned Features

In addition to the features listed above, several other features are planned for Kastri, namely:

Geofencing support on Android

This feature is currently in limbo, due to there being issues with making the functionality work. Please contact me if you are interested in helping.

Photos Library

For accessing photos stored on the device via the albums on Android and iOS. Photos selector implementation with multiple-select capability (similar to Facebook's implementation)

Simple backend framework for managing push tokens

A simple REST backend for managing push tokens and sending messages that can be customised to your needs. Complements the existing Firebase Cloud Messaging support.

Universal Links

Allows users to intelligently follow links to content inside your app from your website. Implemented natively on iOS

The above features take time and resources to develop. Your help via sponsorship can help make them a reality!

License

Kastri is licensed under MIT, and the license file is included in this folder.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].