Recent

Author Topic: Lazurus vs CodeTyphoon for cross-compiling GUI applications?  (Read 1198 times)

Wysardry

  • New member
  • *
  • Posts: 7
I am new to Pascal, but would like to be able to create GUI desktop applications using FreePascal on Windows 10 and compile them for multiple platforms without needing to jump through too many hoops.

Would Lazurus or CodeTyphoon be the best IDE for this?

VTwin

  • Hero Member
  • *****
  • Posts: 655
  • Former Turbo Pascal 3 user
Re: Lazurus vs CodeTyphoon for cross-compiling GUI applications?
« Reply #1 on: May 15, 2019, 02:03:43 am »
Lazarus.

Edit: Lainz gave a good answer. Windows, Macintosh, and Linux are quite straightforward. Macintosh does have a few bumps, but is in good shape and rapidly improving.

I personally do not use fpcupdeluxe or cross compile. I use a Macintosh with Windows and Linux on VirtualBox. For me that works well.
« Last Edit: May 15, 2019, 02:17:39 am by VTwin »
“Talk is cheap. Show me the code.” -Linus Torvalds

macOS 10.11.6: Lazarus 2.1.0 svn 61174M (64 bit Cocoa trunk)
Ubuntu 18.04.2: Lazarus 2.0.0 (64 bit on VBox)
Windows 7 Pro SP1: Lazarus 2.0.0 (64 bit on VBox)

Lainz

  • Hero Member
  • *****
  • Posts: 3082
    • https://lainz.github.io/
Re: Lazurus vs CodeTyphoon for cross-compiling GUI applications?
« Reply #2 on: May 15, 2019, 02:04:37 am »
With Lazarus will be ok. CodeTyphoon is a fork of Lazarus.

I recommend installing with fpcupdeluxe and install cross compilers. You still need Mac or Linux to test your applications in these OS.

Build modes are easy to create to add different targets to the same Lazarus project. You can target by OS and bitness for example. As well by LCL widgetset.

Or you can try pas2js and make a web app that's already cross platform.

Wysardry

  • New member
  • *
  • Posts: 7
Re: Lazurus vs CodeTyphoon for cross-compiling GUI applications?
« Reply #3 on: May 15, 2019, 02:51:23 am »
Thanks. I was leaning towards Lazurus anyway, as it has been around longer.

I was just unsure whether CodeTyphoon was better suited for cross-compiling as it seems to be set up for that out of the box.

Martin_fr

  • Administrator
  • Hero Member
  • *
  • Posts: 5370
    • wiki
Re: Lazurus vs CodeTyphoon for cross-compiling GUI applications?
« Reply #4 on: May 15, 2019, 03:11:39 am »
With lazarus you usually use a virtual machine for Linux or Windows (depends what your main OS is). OsX needs a mac though.

But cross compiling (not sure if CT does target OsX) does not guarantee the app will run. The basics will all work across platforms (Lazarus or CT, since it is the same code). But if you write a bigger app, then with either of the 2, you need to test that app on the final system. So you do need each OS that you want to run your app under.
Hence you can install Lazarus on each OS.
Then you can just copy the project (use a revision mgmt system, like svn/git/...) and compile it.

Another factor is: CT releases are based on Lazarus trunk (trunk is untested new features). I have no idea to what extend CT does there own tests.
On the other hand, if you need latest edge, (maybe for cocoa, which afaik currently is better in trunk) then you can check if CT happens to be based on a newer revision than the current Lazarus release (bit tricky, since you need to compare 2 svn branches).

But then you could always use released Lazarus, and only for cocoa use a self build trunk based. It is easy to do. Once you have a released install, its a few steps to create a 2nd Lazarus from trunk).

And even if the CT is more up to date than Lazarus release, it will also be a snapshot. And trunk advances every day. Even CT does not follow at that rate. And Lazarus has the option to go svn.

« Last Edit: May 15, 2019, 03:13:58 am by Martin_fr »

VTwin

  • Hero Member
  • *****
  • Posts: 655
  • Former Turbo Pascal 3 user
Re: Lazurus vs CodeTyphoon for cross-compiling GUI applications?
« Reply #5 on: May 15, 2019, 03:41:23 am »
Just to add to that, I use the latest stable Lazarus version on Windows and Linux using VirtualBox. On Macintosh I use svn trunk to keep on top of Cocoa fixes. I imagine that will stabilize in the next few releases.
« Last Edit: May 15, 2019, 03:43:44 am by VTwin »
“Talk is cheap. Show me the code.” -Linus Torvalds

macOS 10.11.6: Lazarus 2.1.0 svn 61174M (64 bit Cocoa trunk)
Ubuntu 18.04.2: Lazarus 2.0.0 (64 bit on VBox)
Windows 7 Pro SP1: Lazarus 2.0.0 (64 bit on VBox)

Wysardry

  • New member
  • *
  • Posts: 7
Re: Lazurus vs CodeTyphoon for cross-compiling GUI applications?
« Reply #6 on: May 15, 2019, 05:52:36 am »
I would much rather use stable releases than the most recent snapshot, so that's another minus for CodeTyphoon.

What initially drew me to it was that it supposedly supports "more than 200 Target OSes" and I would like to build for Chromebook, Android and Raspberry Pi if possible (once I get the hang of everything).

I'm hoping that LCL will make this easier, as I don't plan on making anything too complex.

Handoko

  • Hero Member
  • *****
  • Posts: 3021
  • My goal: build my own game engine using Lazarus
Re: Lazurus vs CodeTyphoon for cross-compiling GUI applications?
« Reply #7 on: May 15, 2019, 07:36:17 am »
CodeTyphoon makes cross compiling easier (for newbies) and they have their own IDE. Unfortunately due to the separate development, CodeTyphoon does not fully support what Lazarus can.

I do not use CodeTyphoon but I sometimes will visit their website. I maybe wrong but as far as I know they do not support Online Package Manager (OPM) and Lazarus Android Module Wizard (LAMW). These 2 tools are my favorites.

If you're interested in Android app development using Pascal, I recommend you to read these:
https://forum.lazarus.freepascal.org/index.php/topic,42527.0.html
https://forum.lazarus.freepascal.org/index.php/topic,38777.msg264428.html#msg264428

kupferstecher

  • Full Member
  • ***
  • Posts: 245
Re: Lazurus vs CodeTyphoon for cross-compiling GUI applications?
« Reply #8 on: May 15, 2019, 09:12:01 am »
I would like to build for Chromebook, Android and Raspberry Pi if possible (once I get the hang of everything).
Raspberry Pi ist easy, the same code as for PC is working there. Android is a different thing, the LCL components like TButton etc. don't work there. Anyways a mobile application never looks like a PC application.


MacWomble

  • New member
  • *
  • Posts: 34
Re: Lazurus vs CodeTyphoon for cross-compiling GUI applications?
« Reply #9 on: May 15, 2019, 09:23:06 am »
CodeTyphoon makes cross compiling easier (for newbies) and they have their own IDE. Unfortunately due to the separate development, CodeTyphoon does not fully support what Lazarus can.

That's not right at all.
CT did fully support what Lazarus can - and much more. There are also two versions of CT (Release and Lab).
The release versions are really stable and mostly the lab also. Support for CT is first class (fast and qualified).
CT is heavily tested on many different distributions and operating systems all the time.
CT uses an extended IDE with many good and usefull improvements and there is also a CT-Center with many tools Lazarus did not have. Crosscompiling is made easy.
« Last Edit: May 15, 2019, 09:36:07 am by MacWomble »
Mint 18.3 Cinnamon, Codetyphon 6.4 64Bit

marcov

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 6996
Re: Lazurus vs CodeTyphoon for cross-compiling GUI applications?
« Reply #10 on: May 15, 2019, 10:01:10 am »
CT did fully support what Lazarus can - and much more. There are also two versions of CT (Release and Lab).

It still has trouble recognizing it uses (some ?) lazarus codebases at all

search for lazarus synchronization information here:

https://www.pilotlogic.com/sitejoom/index.php/wiki/84-wiki/codetyphon-studio/72-codetyphon-about

or
http://www.pilotlogic.com/codetyphon/changeslog.txt

I see no mention of lazarus anywhere.

Quote
The release versions are really stable and mostly the lab also. Support for CT is first class (fast and qualified).

I regularly look at the forum, and I'm somewhat underwhelmed. "lively" is different. Maybe I'm missing something.

Quote
CT uses an extended IDE with many good and usefull improvements and there is also a CT-Center with many tools Lazarus did not have. Crosscompiling is made easy.

The ctcenter list looks quite familiar.  The first few are standard FPC  (though we removed upx with 3.0 due to upxed files triggering antiviruses more than it is worth) and a few one form utils.

The settingstools is maybe the only a bit more complex. It also demonstrates the more core tenets of CT, the crosscompilation.

I see Codetyphon more as an integration project of external codebases and crosscompile tool, than a standalone development project. From what I see the own "tools" are fairly simple and riskless.

« Last Edit: May 15, 2019, 01:45:22 pm by marcov »

Handoko

  • Hero Member
  • *****
  • Posts: 3021
  • My goal: build my own game engine using Lazarus
Re: Lazurus vs CodeTyphoon for cross-compiling GUI applications?
« Reply #11 on: May 15, 2019, 01:41:12 pm »
CodeTyphoon makes cross compiling easier (for newbies) and they have their own IDE. Unfortunately due to the separate development, CodeTyphoon does not fully support what Lazarus can.

That's not right at all.
CT did fully support what Lazarus can - and much more.

Last time I tried CT was some years ago. Did you mean CT now already supports OPM and LAMW?

Martin_fr

  • Administrator
  • Hero Member
  • *
  • Posts: 5370
    • wiki
Re: Lazurus vs CodeTyphoon for cross-compiling GUI applications?
« Reply #12 on: May 15, 2019, 02:57:42 pm »
Last time I tried CT was some years ago. Did you mean CT now already supports OPM and LAMW?

Since they renamed all packages, OPM would not work for them out of the box. Because packages from the online repro, require Lazarus packages by their original name.
So to make it working, they need to rename all requirements, or have there own online repro.

Peter H

  • New member
  • *
  • Posts: 16
Re: Lazurus vs CodeTyphoon for cross-compiling GUI applications?
« Reply #13 on: May 15, 2019, 03:11:09 pm »
I dont think they want to support OPM.
They have almost all OPM packages in their CodeOcean and in their BigIDE.

If you look to their site, there is no impressum and I think therefore it is not a real company but a greek university training project, where students are trained to manage large projects.
I think they want to do their own stuff and not participate in Lazarus or FPC open source development.
This is what I believe, not what I know.

This said, they put the bleeding edge compiler to serious use and this is probably very good.
FPC 3.3.1 works very good but there are problems with gdb, the same problems I have seen when I tried fpc 3.3.1 with lazarus

Wysardry

  • New member
  • *
  • Posts: 7
Re: Lazurus vs CodeTyphoon for cross-compiling GUI applications?
« Reply #14 on: May 15, 2019, 06:23:51 pm »
Does anyone know if it is possible to install both Lazarus and CodeTyphoon on Windows 10 together without them clashing?

I'm not sure if either adjusts the Windows path settings, which might cause one or the other to use the wrong compiler.