Lemmy.eus
  • Communities
  • Create Post
  • Create Community
  • heart
    Support Lemmy
  • search
    Search
  • Login
  • Sign Up
AgreeableLandscape@lemmy.mlM to Linux@lemmy.ml · 3 years ago

You CAN'T make a "Linux app", because there is NO LINUX PLATFORM

yewtu.be

external-link
message-square
11
fedilink
5
external-link

You CAN'T make a "Linux app", because there is NO LINUX PLATFORM

yewtu.be

AgreeableLandscape@lemmy.mlM to Linux@lemmy.ml · 3 years ago
message-square
11
fedilink
The first 1,000 people to use this link will get a 1 month free trial of Skillshare: https://skl.sh/thelinuxexperiment11211 Get your Linux desktop or laptop here: https://slimbook.es/en/ 👏 SUPPORT THE CHANNEL: Get access to an exclusive weekly podcast, vote on the next topics I cover, and get your name in the credits: YOUTUBE: https://www.youtube.com/channel/UC5UAwBUum7CPN5buc-_N1Fw/join Patreon: https://www.patreon.com/thelinuxexperiment Or, you can donate whatever you want: https://paypal.me/thelinuxexp?locale.x=fr_FR 🏆 FOLLOW ME ELSEWHERE: I also do a Gaming Podcast: https://www.youtube.com/channel/UCbRPZ11S1quJ4ESoj42A3ug Join us on our new Discord server: https://discord.gg/xK7ukavWmQ Twitter : http://twitter.com/thelinuxEXP My Gaming on Linux Channel: https://www.youtube.com/channel/UCaw_Lz7oifDb-PZCAcZ07kw Follow me on ODYSEE: https://odysee.com/@TheLinuxExperiment:e Or join ODYSEE: https://odysee.com/$/invite/@TheLinuxExperiment:e 📷 GEAR I USE: Sony Alpha A6600 Mirrorless Camera: https://amzn.to/30zKyn7 Sigma 56mm Fixed Prime Lens: https://amzn.to/3aRvK5l Logitech MX Master 3 Mouse: https://amzn.to/3BVI0Od Bluetooth Space Grey Mac Keyboard: https://amzn.to/3jcJETZ Logitech Brio 4K Webcam: https://amzn.to/3jgeTh9 LG Curved Ultrawide Monitor: https://amzn.to/3pcTVDH Logitech White Speakers: https://amzn.to/3n6wSb0 Xbox Controller: https://amzn.to/3BWmIA3 *Amazon Links are affiliate codes and generate small commissions to support the channel* 00:00 Intro 00:42 Sponsor: Skillshare 01:47 What is a platform? 02:57 Linux isn't a platform 05:45 Linux has multiple platforms 07:47 Why do we need app platforms? 11:13 Parting Thoughts But what's a platform, exactly? Basically, I'm talking about an application platform. The best example that most people will be familiar with, will be in the smartphone world, with the iOS platform and the Android platform. Problem is, there is NO Linux platform, and there has never been one. That's simply because there is no "one Linux operating system". You have what we call Linux distributions, which can be very different from each other, not including the same systems, desktop environments, packages or libraries. So application developers can't really develop an app for the Linux platform. They can develop an application that runs on Linux based operating systems, and makes use of some Linux features and libraries, but they have to make A LOT OF choices along the way. Do they want to have a dependency on systemD, do they want to use GTK or Qt, or something else as the toolkit? Do they want to follow human interface guidelines for a desktop that uses this library? And once the app is done, they have to decide on the packaging format: do they want to try and get included in Debian's repos? In Fedora's? In Ubuntu's? Do you want to use AppImage packaging to ensure anyone can run your app? Do you want to have a flatpak version, or a snap one? Linux, instead, doesn't have a single, unified platform. It has multiple ones. What we have on Linux, is parts of platforms that developers can choose. And they already do so. The best example, which I've already talked about, is elementary OS. These guys have the operating system, the development tools, with a specific language, Vala, a graphical library, GTK, their own HIG and Granite, its associated library, one packaging format, Flatpak, and a way to distribute your app, the AppCenter. But we also have other platforms in the making, and the main one is GNOME. And this is also why there is a lot of discussion currently about GNOME, theming, libadwaita, and all of that other stuff: because these are decisions and developments made to create a GNOME platform. GNOME doesn't want to be a simple desktop environment, that distributions can pick, tweak, arrange as they like, and ship to users. They want to be a platform that developers can target, and to ensure that GNOME can be a platform, they NEED to lock a few things down. But why do we need platforms? Well, think about most people's complaints about using Linux: it's too fragmented, there are no third party applications, no one develops for linux, it's unstable, all that stuff. These complaints are what platforms are trying to address. With well defined platforms, developers can create apps that work well and look and feel the same in the hands of users. They can ensure they're stable. They have an enticing system and an easier, pre-defined path to start developing their application, and so, they are more likely to develop an application, period. In the end, we can't really have it both ways: either we want to attract developers and for that, we need to offer compelling and stable development platforms, and that means limiting some choices, or we prefer to keep our existing model and all the user choice it allows, and that means that developers will still have a hard time developing for "Linux" as a whole, because there is no clear path to do so.
  • ☆ Yσɠƚԋσʂ ☆@lemmy.ml
    link
    fedilink
    arrow-up
    2
    ·
    3 years ago

    I really can’t recommend it enough, it’s really one of the most enjoyable languages I’ve used. Here are some starting materials that could come in handy if you do get around to it, I put it together from stuff we use for onboarding for my team https://gist.github.com/yogthos/be323be0361c589570a6da4ccc85f58f

Linux@lemmy.ml

linux@lemmy.ml

Subscribe from Remote Instance

Create a post
You are not logged in. However you can subscribe from another Fediverse account, for example Lemmy or Mastodon. To do this, paste the following into the search field of your instance: !linux@lemmy.ml

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

  • Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
  • No misinformation
  • No NSFW content
  • No hate speech, bigotry, etc

Related Communities

  • !opensource@lemmy.ml
  • !libre_culture@lemmy.ml
  • !technology@lemmy.ml
  • !libre_hardware@lemmy.ml

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

Visibility: Public
globe

This community can be federated to other instances and be posted/commented in by their users.

  • 1.62K users / day
  • 4.72K users / week
  • 8.19K users / month
  • 16.4K users / 6 months
  • 24 local subscribers
  • 54K subscribers
  • 6.48K Posts
  • 111K Comments
  • Modlog
  • mods:
  • nooter692@lemmy.ml
  • AgreeableLandscape@lemmy.ml
  • MarcellusDrum@lemmy.ml
  • Arthur Besse@lemmy.ml
  • Cyclohexane@lemmy.ml
  • d3Xt3r@lemmy.nz
  • BE: 0.19.7
  • Modlog
  • Instances
  • Docs
  • Code
  • join-lemmy.org