Recent

Author Topic: Mobile development - Android & iOS  (Read 34099 times)

MarkMLl

  • Hero Member
  • *****
  • Posts: 4400
Re: Mobile development - Android & iOS
« Reply #75 on: December 11, 2021, 09:18:46 am »
Pas2JS is it's own solution and not realy a part of the fpc-lazarus ecosystem. What I am talking about is a fpc-lazarus solution that uses the webbrowser simply as rendering engine.

Although as I've said, that can result in a bloated mess. Using web markup has proven to be very successful in its original domain, to the detriment of e.g. WAP, but I'm not sure whether it's really desirable where dataflow doesn't have to be serialised.

MarkMLl
MT+86 & Turbo Pascal v1 on CCP/M-86, multitasking with LAN & graphics in 128Kb.
Pet hate: people who boast about the size and sophistication of their computer.
GitHub repositories: https://github.com/MarkMLl?tab=repositories

Blade

  • Full Member
  • ***
  • Posts: 176
Re: Mobile development - Android & iOS
« Reply #76 on: December 11, 2021, 10:39:49 am »
Another of the "under the table" ways of creating apps for both Android and iOS, which has been around for quite a while, is ZenGL.  This is something that a newbie/beginner would likely have to dig around to find.  Like with Castle, this goes into the issue of using a game engine.

If you check out the old ZenGL site (https://zengl.org/) and go to "Extra", you will find ZenGUI (https://zengl.org/extra/zengui/screen01.png).  It's a decent example of what could be done going down the OpenGL route, for both Android and iOS. 

The users Seenkao and Skalogryz, have revived development and put it on GitHub (https://github.com/Seenkao/New-ZenGL, https://github.com/skalogryz/zengl), but the effort appears a bit fractured when it comes to supporting iOS and Android equally.

The old website for ZenGL, also shows steps to compile to iOS and Android.

Warfley

  • Hero Member
  • *****
  • Posts: 829
Re: Mobile development - Android & iOS
« Reply #77 on: December 13, 2021, 10:33:20 am »
Using Google Trends:
https://trends.google.com/trends/explore?date=today%205-y&q=%2Fm%2F05y49,%2Fm%2F0n6y,%2Fm%2F019p2

It said BASIC > Pascal > Ada. BASIC (yellow line in the graph below) is slowly losing its popularity. Pascal (blue) is trying to keep its position. And Ada (red) is dying.
Have you taken the time to also google for pascal? If I search for pascal in google, using an incognito tab, so it is unpersonalized (only considers my location in germany) I get on the first page 3 results regarding the physical unit of pressure, one page about german company called pascal, 3 pages about the mathematician Blaise Pascal, one page about the common german name Pascal, the general wikipedia article (where it links all articles that are tagged as pascal) and the wiktionary site.
The first mention of the programming language is on page 3 meaning there are 20 other entries google takes as more relevant than the programming language for someone using the term pascal.

So at least here in germany, it seems that of all those google searches that go into that google trend nearly none regard the programming language, if google only thinks the it is so irrelevant that it only comes up on page 3. Note that Turbo Pascal is mentioned on page 2, but this is not the programming language, but thats a theater actors collective called Turbo Pascal from berlin (note I live a the opposite site of germany, so this isn't even relevant due to locality). So a local actors collective is more relevant for people searching the term "pascal" than the programming language Turbo Pascal.

For Basic it's kinda similar, as this is a commonly used english word, a lot of the results are translations, then there are shops in germany called basic as well as an online shop. But at least the wikipedia article for basic the programming language makes it onto the first page.

So the google trends you showed say absolutely nothing about the popularity of these languages, because the people searching for Pascal or Basic are probably not searching for the programming language, but for something else, as these terms are widely used elsewhere. The physical unit pascal is probably orders of magnitude more often searched than the programming language, simply because it is part of any school physics class curriculum in the world.

Handoko

  • Hero Member
  • *****
  • Posts: 4587
  • My goal: build my own game engine using Lazarus
Re: Mobile development - Android & iOS
« Reply #78 on: December 13, 2021, 11:03:51 am »
I do not know how accurate Google Trend is nor how they calculate the value. But in case if missed it I want to let you know, I did not simply use the keyword Basic nor Pascal. But Basic programming language and Pascal programming language.

Warfley

  • Hero Member
  • *****
  • Posts: 829
Re: Mobile development - Android & iOS
« Reply #79 on: December 13, 2021, 12:34:03 pm »
Ok, I've overlooked this. But this then basically is what the TIOBE index measures, and as already said, it is very flawed, because it can not distinquish between people searching for a language because they want to learn it, or if it is because they want to only know some superficial information about it. One reason why Basic and Pascal have such a high result there could be because their historical relevance. When you learn the history of programming languages, you will come into contact with them, the same way I've looked into Cobol and Fortran, even though I will never use these languages.

As already stated, the TIOBE index is inherently flawed and it's results can not be verified against any other metric of language popularity. It is simply not a useful measure for this

MarkMLl

  • Hero Member
  • *****
  • Posts: 4400
Re: Mobile development - Android & iOS
« Reply #80 on: December 13, 2021, 12:57:53 pm »
Ok, I've overlooked this. But this then basically is what the TIOBE index measures, and as already said, it is very flawed, because it can not distinquish between people searching for a language because they want to learn it, or if it is because they want to only know some superficial information about it. One reason why Basic and Pascal have such a high result there could be because their historical relevance. When you learn the history of programming languages, you will come into contact with them, the same way I've looked into Cobol and Fortran, even though I will never use these languages.

As already stated, the TIOBE index is inherently flawed and it's results can not be verified against any other metric of language popularity. It is simply not a useful measure for this

I urge everybody concerned to not let this thread become yet another language comparison, or to let the local BASIC enthusiast coopt it.

I agree that just about every attempt at a metric risks producing misleading results, and as an example would suggest that OS/2 and IBM's DB2 dropped out of public view (i.e. how many magazine articles mentioned them etc.) in the early 1990s even though they were still heavily used commercially and as such were not only financially significant but still had significant "mindshare"- provided that you knew where to look.

Ada, COBOL and for that matter FORTRAN and even LISP are still heavily used in their niches: you only have to consider https://www.cnbc.com/2020/04/06/new-jersey-seeks-cobol-programmers-to-fix-unemployment-system.html for an example, not to mention regular horror stories of somebody in a bank fouling up a big batch-mode job or (going back a bit further) the embarrasing failure of a defense project because the LISP programmers had never heard of Wireshark.

I'd suggest that classical BASIC is rather less heavily used, because it was identified as somewhat ropey comparatively early on and there was substantial pressure to exclude it from business-critical systems. One of the beneficiaries of that trend was Delphi (as an alternative to QuickBASIC and Visual Basic), hence the Object Pascal community as a whole.

Irrespective of the amount of visible mindshare that Pascal still commands, the fact that Embarcadero is still able to keep itself in business by milking its golden egg indicates that there are still enterprise-grade Pascal systems being maintained, whether or not they are being written ab initio. As such, it is in this community's interest to have a viable path for the people involved in that maintenance to "leverage" their talent onto Android and possibly iOS, which makes the subject of this topic worth pursuing: irrespective of the apparent statistics.

MarkMLl
MT+86 & Turbo Pascal v1 on CCP/M-86, multitasking with LAN & graphics in 128Kb.
Pet hate: people who boast about the size and sophistication of their computer.
GitHub repositories: https://github.com/MarkMLl?tab=repositories

Seenkao

  • Sr. Member
  • ****
  • Posts: 407
    • New ZenGL.
Re: Mobile development - Android & iOS
« Reply #81 on: December 13, 2021, 01:50:38 pm »
Всем привет!
The users Seenkao and Skalogryz, have revived development and put it on GitHub (https://github.com/Seenkao/New-ZenGL, https://github.com/skalogryz/zengl), but the effort appears a bit fractured when it comes to supporting iOS and Android equally.

На данное время я не смогу воссоздать цепь iOS. Вылезает множество разных проблем и под разные системы. На данное время я нацелен больше на Android, а так же на замену/уход от внешних библиотек или их компиляцию для Android64. Так же я намереваюсь расширить OpenGL до возможности полного его использования. Это не значит, что ZenGL изменится. Просто у пользователя ZenGL появится возможность полностью использовать OpenGL вплоть до 4.6, GLES вплоть до версии 3.2, не заставляя пользователя создавать окно OpenGL самому. ZenGL сделает это за него.

Так же попутно стараюсь документировать функции, чтобы было и удобнее их использовать и более понятно в использовании.

Лишь когда я закончу со всеми выползающими мелочами, я смогу посмотреть в сторону iOS. И посмотрю что я смогу сделать в этом направлении.

Google translate:
At this time, I will not be able to recreate the iOS chain. Crawls out a lot of different problems and for different systems. At this time, I am aiming more at Android, as well as at replacing/avoiding external libraries or compiling them for Android64. I also intend to extend OpenGL to be fully usable. This does not mean that ZenGL will change. It's just that the ZenGL user will be able to fully use OpenGL up to 4.6, GLES up to version 3.2, without forcing the user to create the OpenGL window himself. ZenGL will do it for him.

I also try to document functions along the way, so that it is more convenient to use them and more understandable to use.

Only when I'm done with all the little things that creep out, I can look towards iOS. And I'll see what I can do in this direction.


По поводу каких-то поисковых систем... я не думаю что это хороший метод поиска того, что нужно. Большинство поисковых систем нацелены на то, чтоб выискивать выгоду. В первую очередь для себя. И мало заботиться о пользователе. В следствии чего, мы можем наблюдать картину, что ищем мы одно, а поиск выдаёт совершенно другое. При этом нужное мы можем найти лишь на 10-й - 20-й странице, или не найти вовсе.

Google translate:
For some search engines ... I don't think this is a good method of finding what you want. Most search engines are focused on looking for benefits. First of all for yourself. And there is little to worry about the user. As a result, we can observe a picture that we are looking for one thing, and the search gives out something completely different. At the same time, we can find what we need only on the 10th - 20th page, or not at all.
« Last Edit: December 13, 2021, 02:00:26 pm by Seenkao »
Rus: Стремлюсь к созданию минимальных и достаточно быстрых приложений.
Работаю над ZenGL.
Eng: I strive to create applications that are minimal and reasonably fast.
Working on ZenGL. :)

Warfley

  • Hero Member
  • *****
  • Posts: 829
Re: Mobile development - Android & iOS
« Reply #82 on: December 13, 2021, 02:00:24 pm »
Irrespective of the amount of visible mindshare that Pascal still commands, the fact that Embarcadero is still able to keep itself in business by milking its golden egg indicates that there are still enterprise-grade Pascal systems being maintained, whether or not they are being written ab initio. As such, it is in this community's interest to have a viable path for the people involved in that maintenance to "leverage" their talent onto Android and possibly iOS, which makes the subject of this topic worth pursuing: irrespective of the apparent statistics.

MarkMLl

As I said in one of my previous answers, yes Delphi is doing good with their buisnessmodel of targeting enterprise applications, but I don't think that this area is where Lazarus can (and should) compete.
I think Lazarus should aim for a more general audience, and should be attractive not just as an option for existing Pascal programmers but also for new developers looking for a solution for cross platform development. I decided to go away from .Net and start using Pascal with Lazarus because it had the best cross plattform GUI development tools when I started using it. But with all the competition available nowadays that Lazarus not only does not stand out anymore, but lacks pretty much all other major development environments, and this is something that ought to be changed, and mobile development is the biggest area where Lazarus is lacking

Blade

  • Full Member
  • ***
  • Posts: 176
Re: Mobile development - Android & iOS
« Reply #83 on: December 13, 2021, 02:46:12 pm »
Ok, I've overlooked this. But this then basically is what the TIOBE index measures, and as already said, it is very flawed, because it can not distinquish between people searching for a language because they want to learn it, or if it is because they want to only know some superficial information about it. One reason why Basic and Pascal have such a high result there could be because their historical relevance. When you learn the history of programming languages, you will come into contact with them, the same way I've looked into Cobol and Fortran, even though I will never use these languages.

As already stated, the TIOBE index is inherently flawed and it's results can not be verified against any other metric of language popularity. It is simply not a useful measure for this

TIOBE is not any less flawed than PYPL in my eyes.  As mentioned, both are under the whims of their creators (to adjust rankings as they please), who have both demonstrated odd manipulations and interpretations of definitions.

By all metrics that I have ever seen, Pascal/Object Pascal was a top 10 programming language from the late 1970s to the early 2000s.  That Pascal/Object Pascal would presently be in the 15th to 20th range among programming language is logically consistent with its past.  Contrary to the opposing view, Pascal/Object Pascal is not going to all of the sudden disappear.  There is still a ton of code, websites, books, teaching materials, it being used in the schools of numerous countries throughout the world, and Delphi is still in existence and viable.

I think that many people are trying to compare Pascal against the present top 10 languages, so that if it's not ranked in that range, it's an utter failure or has completely disappeared from the world.  That various websites try to constantly (year after year) proclaim that it's "dead", is extremely suspicious and smells.  Pascal/Object Pascal appears to threaten the business interests of various entities backing C, C++, C#, and Java.  Not to mention the tremendous animosity between various C backers against Pascal, from near the very beginning, who falsely claim it's inferior and wish for its death.

You have to also keep in mind that there are so many programming languages at present, that it's extremely hard for any of them to get traction, to get near the top 50, much less the top 10.  People are not embracing Julia, Go, Rust, Kotlin, Lua, Haskell, etc... at any greater level than Object Pascal.  And I find it quite strange that there isn't an abundance of weird websites constantly saying, "Hey, Haskell is dead!!!  Don't learn it!!!  2015... no, 2017... no, 2022 is the final year of Haskell and it most surely will be extinct!!!"
« Last Edit: December 13, 2021, 02:59:52 pm by Blade »

Blade

  • Full Member
  • ***
  • Posts: 176
Re: Mobile development - Android & iOS
« Reply #84 on: December 13, 2021, 02:57:16 pm »
At this time, I will not be able to recreate the iOS chain. Crawls out a lot of different problems and for different systems. At this time, I am aiming more at Android, as well as at replacing/avoiding external libraries or compiling them for Android64. I also intend to extend OpenGL to be fully usable. This does not mean that ZenGL will change. It's just that the ZenGL user will be able to fully use OpenGL up to 4.6, GLES up to version 3.2, without forcing the user to create the OpenGL window himself. ZenGL will do it for him.

I also try to document functions along the way, so that it is more convenient to use them and more understandable to use.

Only when I'm done with all the little things that creep out, I can look towards iOS. And I'll see what I can do in this direction.

Thank you for giving us this info and continually updating ZenGL.  However, I do think it's unfortunate that it couldn't be updated for use on iOS, to the same level as Android.

PascalDragon

  • Hero Member
  • *****
  • Posts: 4127
  • Compiler Developer
Re: Mobile development - Android & iOS
« Reply #85 on: December 13, 2021, 03:19:13 pm »
Pas2JS is it's own solution and not realy a part of the fpc-lazarus ecosystem. What I am talking about is a fpc-lazarus solution that uses the webbrowser simply as rendering engine.

I don't agree here. Pas2JS can be just as much a part of the FPC/Lazarus ecosystem. TMS showed with their TMS Web Core that a very VCL-like usage is possible with Pas2JS and it's possible to apply the same approach to Lazarus (see here). While for example the Web Component Library is still a work-in-progress I have successfully developed a web application for the company I work at that consists of a FpWeb backend and a Pas2JS frontend with the later being developed in the usual Lazarus RAD approach.

Warfley

  • Hero Member
  • *****
  • Posts: 829
Re: Mobile development - Android & iOS
« Reply #86 on: December 13, 2021, 03:39:12 pm »
By all metrics that I have ever seen, Pascal/Object Pascal was a top 10 programming language from the late 1970s to the early 2000s.  That Pascal/Object Pascal would presently be in the 15th to 20th range among programming language is logically consistent with its past.  Contrary to the opposing view, Pascal/Object Pascal is not going to all of the sudden disappear.  There is still a ton of code, websites, books, teaching materials, it being used in the schools of numerous countries throughout the world, and Delphi is still in existence and viable.
I don't think pascal will disappear at all, if cobol has proven anything than that technologies never die. The question is what happens with a language that once was very popular, and is this what we want from pascal.

First option is like cobol that the language goes into "maintanance mode", i.e. people only use it to maintain and continue already existing code. This is for example the fate of cobol. Pretty much no one is going to start a big new project in cobol, but due to prevalence it once had, there are a lot of systems that need maintainance, and this is why cobol will probably stick with us for at least the next 20 years. This is the very least we can expect of Pascal, especially as backwards compatibility is a big concern for the development of both Delphi and FreePascal.

The second option is that it becomes a niche language, like Fortran, which is the de-facto standard in the high performance computing area, but does not really find any usage somewhere else. Currently I don't see this for Pascal, because up until now Pascal was a general purpose language, and I don't see any special area where it is exceptional at. There once was the cross plattform GUI development, but as I said, there are now other options available. Maybe for Desktop only GUIs like it is often required for some enterprise applications like management software, but here are also a lot of other players, mainly Java with Swing and (if you stick to windows, which is a reasonable assumption for many companies) .Net. Also this niche is where Delphi sits, and I don't see how Lazarus could compete there with Delphi (enterprise software development companies usually want to have someone to shout at when it doesn't work, which doesn't work as good in an open source project).

Lastly is the possibility of innovation, to keep up with the "new hot stuff", continually evolve and stay relevant in the ever shifting development market. This is what for example C++ does. C++ has gone through many iterations and the language has changed, in many cases fundamentally. C++ code from the early 00s is completely different from modern C++ code, every few years with a new standard, a lot of new things are introduced, some are successful, others don't see much usage and some are even dead on arrival and don't even make it into most compilers. This keeps C++ always modern and is arguably a reason why it is keeping it's place as a very popular language, while C on the other hand is steadily declining into it's niche (of very bare metal development).
Other languages like Python or Swift even go so far to make a complete cut, in 08 or so, the Python comittee decided that python wasn't up-to-date anymore, which is when they decided to create python3 which completely breaks compatibility with the old python2, to basically start from scratch. Swift did something similar in version 3.

So the question is what the goal is. I personally think Pascal and Lazarus are best suited as general purpose languages, so I would preferr the third option, because I really like the language and would love to have it be as widely applicable as possible. Thats why I really like to experiment with new features, modern paradigms and co.
But honestly, I think I am in the minority here, a lot of people seem to be very satisfied with the fact that you can still write code as 20 years ago (which is completely fine, this is a completely valid goal to have) which consequently means that the language needs to go either the option1 or option2 route.

trev

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 1983
  • Former Delphi 1-7, 10.2 user
Re: Mobile development - Android & iOS
« Reply #87 on: December 13, 2021, 11:45:50 pm »
Unfortunately this thread has now degenerated to the point that I can't split the content unrelated to Mobile development, so I'm reluctantly locking it. The other option was to start deleting unrelated posts, but some were mixed and I'm not about to start editing posts.

In any event, I think the original topic had probably run its course. There was some good commentary on Mobile development but, as ever, actions speak louder than words.
Lazarus 2.3, FPC 3.3.1 macOS 12.3.1 x86_64 Xcode 13.4
Lazarus 2.3, FPC 3.3.1 macOS 12.3.1 aarch64 Xcode 13.4

 

TinyPortal © 2005-2018