In short, Yes, they will work. Both repositories use the same upstream code to build their packages.
armhf binaries from armbian will run on an
Your problem won't binary compatibility but dependency compatibility. Using a statically linked executable will resolve the dependency compatibility at the expense of binary size.
Debian packages are compiled against dependencies as they exist in the repository. That is, if you're application needs
glibc, debian will use the
glibc dependency from that release.
Imagine this scenario, two packages
MyApplication-1.0~raspbian built against
MyApplication-1.0~armbian built against
If there are differences between the two versions of
glibc, then if you install
MyApplication-1.0~armbian.deb on a raspbian system, you will likely have an error when starting the application or a bug of some sort that may crop up.
If the dependencies are equivalent or compatible, then the package will work as intended.
You can, if you like, choose to install all the
armbian dependencies for a given package by simply adding the armbian repos to
/etc/apt/sources.list, however this will potential conflict with
raspbian versions of the same packages, causing a broken system
There are a few further complications, for example there are build dependencies
build-dep which are seperate from package runtime dependencies
The proper way to do this is to port the package by rebuilding the
armbian package from source against the
raspbian dependencies. This is not guaranteed to succeed (sometimes things are actually incompatible), but when done correctly is very reliable.
This is basically what is used to create
backport repositories in desktop ubuntu/debian
Explaining how to build debian packages from scratch is outside the scope of this question, but I would point you to my answer on
ubuntu.se for an introduction to what it takes.
Building packages can be done on a desktop pc with the proper cross-compile or on Raspberry with native compiler.