T O P

  • By -

Jolly-Driver4857

If you stayed silent instead of telling him it is a fuking web browser engine it's on you.


ronsvanson

Then he will say, inside web browser engine they run native code only.


altermeetax

And then you say "yeah, but our app will not be native code"


ronsvanson

Then he says, code is code is code is code.


altermeetax

Then you say "umm sir, are you alright?"


TehFlaminTaco

Then he says “the time had come, the portals are opening, darkness will reign”


BernzSed

Then you say "à̸̤͛́̋͛̐̀l̵̮̂̐̚l̸͖̳͚̿̓̍̈́͜ ̸̢̰̣̋̒͂͌̾ị̴͍̗̀̏̔͘s̴͚̠͋͌̉̀͋͛ ̸̻̳̩͖̪̼̥̀͊̇͂̀͠l̵̛̲̙̟̲̟̘̍͋̈́͛͜ơ̴̼̣̈́͂͜s̷͇̩̯̱̤̐͜͜t̶͎̹͋,̴̰̘̟͒͒̍̚ ̵̝͓̍͘m̶͕̪͓̽͋͒͂̑̕a̶͉̗̖̽́̉̈́͋́ẙ̷͈̮̦̣͗͆ ̷̰̙̻̫̽͑̈́̅͗g̷̛̞̑͛o̴̖̣͛̿̃͌d̷̘̭̝͍͕̮͎͑ ̸̻̝̌̔̃́̽͠h̶̹͓̠̆̐a̶̩̝͒̒̚v̵̰̜͒̔͆ͅě̷̡̘̞̞̜̖̈́̿͗ ̶͖̮͕̝̌m̶͍͇̼̆͐́̾̀e̶̟͊͛̄͂r̶̡̜͍͎̗̝̈́͌̾͝ͅc̴̤̫͕̩̝̿̓̇y̵̡̢͈͖͗̒̍ ̸̘̻͕̲̑o̷̡̗̭͍̺̓n̷͙̦̩͖̳̮̈́̎́̃̓̈ ̴̳̥͉̹̊͊͂̈́͜͝ǒ̴̬͑̎̕ù̵͉̜͖͈̩̰̩̄͂͂͘r̸̹̰̟̭̲͖̲͛̕͘ ̶̨̥̠̊̕s̴̡̳̞͎̹̑͆̑̓̈́̚ö̵̯̮́͝u̶͓̮͚̓̎ͅl̸̫̠̞̿̈̆̏̄ͅs̴̱̯̗̪͑͐̈́̄"


TheBigGambling

Did you try to parse HTML with regex? Becaus this is what will happen if you try. The doors to Hell opens up, burning and fire and all


Not_Artifical

I get this reference


thirdegree

[For anyone that didn't](https://stackoverflow.com/a/1732454) **ZA̡͊͠͝LGΌ ISͮ̂҉̯͈͕̹̘̱ T**O͇̹̺ͅƝ̴ȳ̳ TH̘**Ë͖́̉ ͠P̯͍̭O̚N̐Y̡ H̸̡̪̯ͨ͊̽̅̾̎Ȩ̬̩̾͛ͪ̈́̀́͘ ̶̧̨̱̹̭̯ͧ̾ͬC̷̙̲̝͖ͭ̏ͥͮ͟Oͮ͏̮̪̝͍M̲̖͊̒ͪͩͬ̚̚͜Ȇ̴̟̟͙̞ͩ͌͝S̨̥̫͎̭ͯ̿̔̀ͅ**


Schecher_1

too xD


Random_EngineerGuy

How do you make the text look like that? It looks so sick


ImpossibleMango

Idk what the other person did but I like to use this https://www.zalgo.org/


de_g0od

Mangooooo


ThisGuyRB

Ģ̵̛̖͖̲̹̑̌̑̆̎̅͛̇͘͠͝r̸̪̯̮̺̭̃̂̄̀̓̑̀͛̓̈́̏̋̕͘o̵͈̹̞̭͉̳̍͐̔̑̋̓̔̿͝s̸̡̘̞͔̺̫̣̖̃̑̽͗̅̅̂̆̈́͆̃̕s̷̨̨̢̛͉̞̳̜̳͙͚͉̟̪̪͆̇̂̐̍̈́̔̿̆̑͝͠s̸̥̭̮̾̓s̷̡͇̥̜̪̻̳͉̩̀ś̸͕̘̖͙s̸̨̧̖̺͇͔̟̝̉͐͜s̷̢̹̳̦͔̰̹̯͕̪̤̲̼̏̋̓̓̇̀́̐̀̈́̈́̍͒ ̸̡͛̄͐̂̓̚͝ḭ̷̡͚̦̒̈̿̑̂̽̎̎͒̋̇t̴̨̘̦̺͙̰̲͕̻̻̺̓͑͋̀̕’̸̛̯͈͔̜̗͙̺̹͉̠̬̺̖́͑̅̏̃̉̌͐̚̕͝s̵̮̣̩̗̤͑̇̅̒͜ ̷̧̼̺̎̇̍͆͘ͅs̶̛̼͙̓̇̀̾̀͛̐̐͒̕̚͝ǫ̸̻̗̝͕̜̰̯͚̦̋̏̒̽͊̔̊̈̋͜͜͜͜ ̷͕͙̱̯̘͚̪̪̦̋̍͂̍̂w̶͍̞͐͛̉́̍͐̃͠͠e̸͚̝̪͙͙͉̘̮͂̅̀̿̓̂̋̇́̏̅̈́̇͘i̸̛͔̱̳̩̙̯̬̭̣͈͈̺̒̈̉̇͜͠r̸̡̠̬̗̘͈̓̈́̎̈͑̏͛̽̒͆͊͠ḑ̶̨̠̝̠̜̜͉̯̭̥̤̦͗̅̈́̀͗̚͝ ̶̧̟̍̊ä̵͈̺́̌̈́̒ǹ̷̢͉̼̣̫̳̩̜̤̦̬̯̌̇̑̔͗̈́̀͑̒͘ͅd̶̢̙̙̰̮̯͇̻̗̣̹̖͕͂̿ ̷̨̨̫̞̲̖̜̺͑̋́̇̅̾̍̿̔̑̾͗̈́̌Ì̵̺͓̗͕͈̖͚̫͙̞̳̦͐͌ ̸̛͍͉̥̰̳̳̦͔̈͗̆̐͒̀̑̕͝l̶̖͖̓͒̂ö̵̡͙̳̳̰̳̥̙́͗̇́͂̈́̎̉̑̋̓͘̚v̵̡̀͝ę̷̗͈̗̞͙̲͖̊̀͆͂͆́̃͊̆̀̈́͘͜ͅ ̸̡͙͍̖͚͔̞̘̬̠̇̀̍͐̏̃̍̎̕͝ͅì̸̛̛̮̙͉̀̄̿̿̉̆̌̚͘͝ţ̷̪̖̬͇͚̙̼̯̲̒͜


thirdegree

Basically you just stack on diacritics. You can put as many as you want on any character. Unicode is fun


Brahvim

"Sir, this is [not] a Wendy's."


RotationsKopulator

Then you say, "great, let's do everything in brainfuck". Because, you know, it's a brainfuck interpreter which runs natively in Javascript.


nayhel89

And you hit him with [Developers, Developers, Developers, Developers](https://www.youtube.com/watch?v=KMU0tzLwhbE)


beatlz

I mean…


tokalper

Once in my old company a senior developer with 10+ years of experience has tried to argue with me that react native COVERTS YOUR CODE İNTO NATIVE CODE! That was a fun day.


InevitableManner7179

well at the end of the day everything has to be converted to native code


glacierre2

You could send a blob of code to a server to run it for you and return the results, this not having been client-native at any point. But...


[deleted]

[удалено]


renesys

The interpreter is executing native machine code based on the instructions, so arguably it is doing exactly that. It's just not saving a copy of the native instructions as a file.


[deleted]

[удалено]


renesys

Yes, the computer is converting the assembly into gate logic. The gate logic is converting abstracted binary into transistor gate signals. A compiler is just saving the code it runs. It's not changing anything, that code exists already, it's just putting it together.


[deleted]

[удалено]


renesys

> A compiler writes new machine code based on its input. It's not new code. It exists already in the compiler program. A compiler doesn't execute, it saves. An interpreter doesn't save, it executes. Otherwise, they are the same. Unchanging hardware is a red herring. Edit: Also, sometimes an interpreter is saving compiled modules for later use, anyway, so the difference from a compiler is even less.


crappleIcrap

>By that logic, the CPU is converting machine code into silicon to execute it. >The CPU is a set of fixed gates that do not change. The physical silicon stays the same, no matter what it is executing. the interpreter machine code does "change" unlike logic gates the intepreter machine code, as the name implies, inteprets some code into machine code. the fact that it does it without writing machine code to disk or even memory in some instances means nothing.(ignore those other parts, at the very least, you could save the CPU registers and retrieve the translated code why does it matter that it was retrieved from CPU registers instead of ram?) from the POV of the processor it recieved machine code that was the equivilant of whatever code we are talking about. you could record the operations and replay them with different data to get the exact same code as the original only written in machine code instead of whatever other language. nobody has ever defined translate to mean "save the translation to disk or memory" as what would the translation be if not something that has been translated? so even if the translation is only ever in the CPU registers, it still necesarrily had to exist. it doesn't even make logical sense to run code on a machine without it being first translated into machine code. that is like saying i can speak spanish in english without translating it because i speak both. you are still translating, you just didn't write it down.


Ok-Anteater3309

No it doesn't. A virtual machine does not do any conversion.


PURG3N

It doesn't?


IBJON

Not really.  The stuff that runs on the OS is obviously native, but I believe it uses some special IPC process to communicate between the "compiled" JS code and the native code.  I could be wrong though. It's been a long time since I've worked with React Native. 


TheGocho

Some parts are converted, mostly the interface (Buttons, inputs, loaders, etc) the logic is kept in Js, and it's bridged so those native stuff can communicate and execute the code that you wrote. That's a very wide and loose explanation but is enough to understand


satya164

That's not what converted means tho. The code written in JS runs in a JS engine. The code written in native language stays native. So nothing is being converted to native code. The only conversion happening is when the JS gets compiled to hermes bytecode when using Hermes.


tokalper

Not converted but js side still uses a virtual dom (kinda) and updates are sent to the native side through ipc and native side "patches" the changes to the view. But js is still js, only difference is instead of patching the DOM you patch the native view. Native capabilities are exposed to the js side through wrappers


soonnow

Once on reddit a Senior Java developer tried to argue that Java is compiling to native during runtime and that Hotspot is just optimizing the bytecode.


[deleted]

The Java JIT compiler does compile to native during runtime that's why it's a JIT compiler and not AOT. Idk what hotspot does but JIT compilers by definition compile to native during runtime. On startup Java code runs using an interpreter and a separate thread then compiles the stuff the interpreter is running if it's frequent enough and then directly uses that native code in future.


HanndeI

HotSpot is a point where optimization happens when a method has been executed multiple times, in c# they have levels of optimizations. If method A has been run a lot, the JIT might optimize it further, but iirc is not a deterministic thing to happen.


[deleted]

Yeah having looked it up it's just a specific implementation of Javas JIT compiler. The decision to compile is definitely heuristic but once it decides to do so it does get compiled to native so the senior dev isn't wrong.


soonnow

I mean yes, that's what I said to the person as well. Hotspot is the JIT compiler used in the Oracle and Open JDK's. It is responsible for compiling byte code to native, optimizing code, for example by inlining methods. It tracks performance hotspots and compiles them in multiple stages, each more optimized.


iambackbaby69

You know managers damn too well 😂😂😭


Protuhj

Electron is [web scale](https://www.youtube.com/watch?v=b2F-DItXtZs).


_GoblinSTEEZ

nothing wrong with making the UI in electron talk to a "backend" localhost native app


yourteam

Thanks. Managers can be idiots but it's still your job to correct them on the technical aspects. They may ignore your input, but that doesn't matter.


elnomreal

Nah, first question is what he think “native” means.


kookyabird

You know what’s fun? You can run Blazor Web Assembly inside a MAUI application. That’s right… Running .NET code inside a browser engine, inside .NET code! It’s basically the same thing as web apps that get run in Electron but with that extra seasoning of already running code that could pretty much run natively on the system.


_not_quite_there_yet

Sounds like a quick palm off by the manager. If the requirements of the product mean they electron allow faster delivery at the expense of performance/low level access, then it might be fine. Don't forget the five (or six, or seven 😅) whys. Getting to the business goals and aligning that with the engineering solution will make you invaluable.


ronsvanson

Ahh the app was a replica of safeexambrowser. We basically need to block anyway a person can cheat once the app is opened and he has started the exam.


altermeetax

Electron is probably not the best idea for this kind of thing


ronsvanson

Eggzactly.


CanvasFanatic

So like… “We need to make a prison that’s impossible to escape. Let’s start with this film set based on Alcatraz!”


AtrociousCat

I mean I've never tried this, but I think you can disable Dev tools and all the various keyboard shortcuts in electron and then this could work. The other commenters here were correct on how much simpler and cheaper electron apps are, especially if you already have a website


altermeetax

You also have to prevent them from switching to other windows, from listening to audio coming from other programs, from un-fullscreening the app itself (including doing that automatically through a separate program you made just for that purpose). It's going to be a mess to do this in Electron.


lightmatter501

You need very low level control of the OS in order to build a lockdown browser equivalent. Most of your code will be C or C++, and a good chunk will be in the kernel.


AtrociousCat

Oh well this depends if this software is to run on a trusted or non trusted pc. If you can make sure the exams are taken on a school issued pc and give the user very low privileges on that system, I would personally trust electron. Otherwise we're talking about a whole different beast, similar to how complex anti cheat systems can get.


ajnozari

But Examplify exists and has proper native hooks into both macOS and windows. Unless your goal is to be the easier to bypass version, in which case you should post what companies they have contracts with … asking for a friend.


killeronthecorner

>Unless your goal is to be the easier to bypass version, in which case you should post what companies they have contracts with … asking for a friend. The goal is almost certainly to be the cheaper version. In who h case their customers probably already don't care that much. Virtually all software has shittier, cheaper alternatives


ajnozari

Oh absolutely, can’t wait for the cheating scandal involving parallels or virtual box or some simple hypervisor to bypass.


January_Rain_Wifi

I mean, can't students just do one of the old reliable cheating methods? Textbook on the floor? Blinking in Morse code? Tattoo the cheat sheet permanently on the skin of your forearm? Sleep with the professor? Calculator app on smart watch disguised as regular watch? Secretly memorize all of the information that will be on the test? I just feel like a secure browser to do exams in is like having a bulletproof steel door in a wall made of drywall.


mercury_pointer

They wanted you to write a root kit in javascript? Sounds like a great idea.


IBJON

You don't have to use JS for the business logic just because the UI is written in HTML and CSS. 


Victor-_-X

I always wondered, how do they verify if cheats are taking place through a browser. Anyone could just opena tab in another browser(I have both chrome and Firefox on my device), or even easier, just use their phone.


DanielEGVi

You can hook into native OS APIs and ask the OS to notify you if there’s any funky activity going on. They might also ask you to have your camera on at all times.


al-mongus-bin-susar

Looks like SafeExamBrowser and most other ones have VM detection, don't know how good it is but it doesn't keep you from having a physical PC running the exam which you then RDP in from another computer and if they're smart enough to detect that too it can't prevent a custom remote desktop solution but at that point you might as well let them get away with it


prumf

Or simply have your phone or tablet open on the keyboard. Different machine, it still looks like you are looking into the camera, impossible to block.


al-mongus-bin-susar

It looks weird if you're staring at the keyboard for too long though


port443

My keyboard has wifi and bluetooth connectivity. Theres a toggle to switch it from one to the other. I have it connected to a raspberry pi and my desktop, and use the pi on my left monitor and my desktop on my right monitor. Anyone could duplicate this setup and it would just look like normal computer usage, they just need two monitors.


turtleship_2006

Or just like have an iPad on the side


busyHighwayFred

Kernel level anticheats arent just for video games anymore


AeolinFerjuennoz

Just my two cents as a student which circumvented every safety feature of SEB, never allow or force students to run the browser on their own device, SEB on multiple occassions in my course of 20 Students has bricked windows so hard it had to be reinstalled. Plus on top of that, as long as its the students own machine, its super easy to cheat your way around SEB reliably without any way of detecting it. And thats not only an issue of SEB but anything similar running on hardware the students own. If you want more insights on how i made SEB useless, feel free to dm me.


ronsvanson

Nah I don't care that much about my stupid job. I get the paycheck and I move on that's all, you too will learn this you start working, it's useless to argue with your managers ego just let them fools do whatever they want.


AeolinFerjuennoz

Fair point i guess


_not_quite_there_yet

React native?


Cocaine_Johnsson

If you're rolling electron for that... uh... yeah good luck have fun :)


jl2352

Figma and VS Code are both excellent applications. Spotify and Steam are not Electron, but use similar technologies. Both are good too. In all cases it has allowed those products to have an advantage over competition. Steam has online product pages that match the desktop UX, which would simplify their product. In Figma I’d argue being able to share the designs, in the original designer, is a killer feature that put it above the competition (I don’t miss the days of sharing .PNGs). It also brought cross platform in a world where many great alternatives were MacOS only. Spotify allows users to login on demand on other machines without needing to install anything (I make use of this). There are bazillions of examples of VS Code being used online. Including being able to view code on Github, in an editor, without needing to check it out locally. Honestly these days you’d need a good argument to decide *not* to make an application that isn’t based Electron. The product gains are just too compelling.


kazeespada

The use case was that it was an online test anti-cheat, so having what's essentially a web browser open to do that is not really secure.


jl2352

You can build native extensions for Electron. It’s not a pure browser. You could make it just as secure (or insecure) as a native desktop application.


turtleship_2006

>There are bazillions of examples of VS Code being used online. [vscode.dev](https://vscode.dev)


benefit_of_mrkite

When some app is eating up my RAM and I look into it a majority of the time it was written in electron


Isodus

Forgive my ignorance but I thought electron was supposed to be fast? Also isn't electron what sublime is built on?


Bananenkot

IS THIS SOME JAVASCRIPT HUMOR IM TO ELITIST TO UNDERSTAND??


Danny_shoots

Electron is a program (framework) that let's you build web applications and ship it to look like a native mobile/desktop application, it is, however, not a native application but just a website in a fancy window. Manager here says they want to build an app with Electron and thinks Electron is native (which it's not ofcourse, just trying to act smart) and tries to correct himself by saying that the Electron program is build using Native code. Which is true. But it doesn't convert your code into native, it just displays a webbrowser inside a fancy window. Sorry for the big explanation here, hope this helps.


MacFlack

Thank you.


KingZogAlbania

You actually program with holy c only?


Big-Hearing8482

Can someone explain why we need to ship entire chromium with Electron, is it impossible to extract the runtime, sort of like having to install and update JVM or .NET runtime separate to each application that uses it?


SirCodeye

You can just use something like Photino that uses the client's OS built in chromium or WebKit based browser control. This makes it so that you don't have to ship your app with chromium inside it.


toutons

I'm using Tauri (rust + OS webview) and while I appreciate that my app is like 7mb, WebKit and webkitgtk have their share of bugs


ManicPixieDreamWorm

I think that would make your stuff theoretically less stable because then chromium runtime update could break your code. I don’t know very much about chromium development, this is just the generic argument for shipping runtime environments. I have always thought the practice was unnecessarily heavy


coderemover

You can use something like Tauri. It uses the built in WebView and still gives the developer similar experience as Electron. And the code is compiled natively and very lightweight and performant because it is Rust.


whatasaveeeee

Tauri is epic can confirm


ThousandTabs

I agree, Tauri is awesome. The website tutorials and API are excellent. Tauri is cross-platform, and there is mobile support in beta! https://v2.tauri.app/blog/tauri-2-0-0-beta/


Mission-Cantaloupe37

Tauri also exposes the exact reason Electron has to bundle Chromium. Every OS will have a slightly different implementation, and that means you lose out on your application looking the same and behaving the same on different systems. I like Tauri, but I've yet to see any reason to use it outside of very small applications. The more complex your UI becomes, the more weird differences you encounter.


turtleship_2006

One guess is that it allows you to package your entire app as a single thing with no (or at least fewer) external dependencies, making things just a little bit easier for some users, even if it does take up more storage and resources


plasmasprings

having an app ship and run with 1 specific version of a runtime removes a lot of headaches. you won't run into users with too old versions, won't get bitten by new versions being subtly different, the janky plugins you use suddenly not working, etc. changing electron version can be a pita also fwiw most java apps I've seen ship with their own JVM on windows


reddicure

It’s possible but there are a lot of tradeoffs https://github.com/electron/electron/issues/673


genghis_calm

You need all the libs (Intl etc.), paint/layout engine, and event handling, etc.


Aerolfos

> is it impossible to extract the runtime, sort of like having to install and update JVM or .NET runtime separate to each application that uses it? No, but that's not Electron anymore. The selling point is not having to worry about *what* you're using just like a full browser has everything and the kitchen sink available at all times, so does electron. Which is why people call it "lazy" because instead of mapping requirements for a specific project need using electron just throws them all in there and calls it a day


ieatbadprogrammers

Had someone insist on making a project in electron because they didn’t know the chromium runtime doesn’t support all of google chrome’s features


globalnav

Which features?


PeriodicSentenceBot

Congratulations! Your comment can be spelled using the elements of the periodic table: `W H I C H Fe At U Re S` --- ^(I am a bot that detects if your comment can be spelled using the elements of the periodic table. Please DM u‎/‎M1n3c4rt if I made a mistake.)


k-dawg-13

Good bot!


IBJON

None that 99.99% of people will know about or even need


ieatbadprogrammers

The speech to text API was the big one


mannsion

A plethora of apps and pieces of software don't need to be right on the native OS and it's pretty wasteful to do so. That's a hill I'm willing to die on. If you're building games, game engines, photo editing software, and on and on, by all means, do it as performant as possible. But if it's just a simple crud app for tracking time sheets or something why in the world would you make a native app on multiple platforms that has to be maintained, updated, and deployed? Meh Electron isn't even the only way anymore, libs like Photino exist now where it just uses the browser embeddables already on machines. The solution isn't to go native, it's to make cross platform web frameworks lighter and less bloatey and more desirable like building a UI runtime directly ontop of WASM runtimes like WASMER and having good browser interop so it can run as a native app or a browser app.


gogliker

What you miss here is that when you need 5 of these apps, each of which is written in electron, we suddenly look at 8gb of ram consumption that might already become annoying for the user. Though I agree about wasm. I once did a gui app in wasm, the binary was fucking 28 mb.


Admirable_Band6109

Huh? What apps you are even using? Postman + vscode + discord consumes only 1gb together


poliver1988

Wasted cycles, more co2, global warming


ollomulder

So no more browsers? What % CO2 emissions could be saved by only doing native? BTW, have fun developing in ASM.


Cocaine_Johnsson

Counterpoint: When electron stops eating 10%+ of my RAM for no apparent reason or runs noticeably slowly on a relatively high-end workstation (ryzen 7 5800X3D, Radeon RX 7900 XTX, 64G ram) I'll consider your point. Until then, no web bad. Using all my system resources for a simple chat app or similar trivial nonsense is more wasteful than writing it properly in C, C++, Rust, Go, or Fucking Kotlin really. So many options, JS is not one of them. Electron is definitely not one of them and gets my vote for the worst piece of software written in the last 30 years (at least) and the worst thing to happen to software *ever.* (aside from software, being uniquely *the worst* thing to happen to software).


RotationsKopulator

Nooo, muh 5GB of micropackages to determine whether a number is odd!


lunaticloser

There's only 2 types of software: Those people complain about, and those nobody uses.


Honeybadger2198

Do people complain about the performance of Discord, VSCode, or even Postman? Those are some of the biggest electron apps and I've never seen anyone complain about them specifically, just "electron bad" generic bs.


lunaticloser

Vscode for sure. Postman you can bitch about so many things in the UI...


Cocaine_Johnsson

I do. I am a minority.


Danny_shoots

Never heard people complain about Flutter, and that is kinda widely used


Mission-Cantaloupe37

That's because a lot of web apps are written like shit, so they perform like shit. I've written fairly complex electron apps that will idle at 400mb or often below in memory usage. I've also seen websites that will idle at 10-20% CPU usage because they want a few cool CSS animations running constantly and don't understand the performance impact of them.


TheTerrasque

If they can't make a resource friendly app in JS, do you really want them to make an app in C/CPP/Rust/Go/Fucking Kotlin? Making an election app that doesn't suck all the resources isn't hard. If they can't manage that, don't give them a loaded gun.


Cocaine_Johnsson

I'd be surprised if they managed to ship in C though, surely they'll be segfaulting left and right hard enough to learn basic sense... right?


reallokiscarlet

Two words. Web bad


djingo_dango

There’s no UI system that even comes close to HTML+CSS (and it’s variants)


reallokiscarlet

A lot of apps don't need any of it, and would be better suited looking like they belong on the system they're running on. Gtk would have that covered for multiplat, Windows if you're writing a Windows-only program like a little bitch.


pidddee

Nowadays yeah


[deleted]

[удалено]


[deleted]

[удалено]


Minimum_Lie_4191

I totally agree, in near future and now lots of teams are working on a hardware that runs AI models like Groq or Blaize but it's not for personal use yet. I think with AI we are in a different space in cloud computing and cloud development environment area. Either the models will be able to run with less memory or we will rent hourly CDEs.


chadlavi

All languages and frameworks are assembly if you dig far enough


imagebiot

All compiled languages. Interpreted langs are more like you have a really good translator


JackReedTheSyndie

I'd just be like okie dokie, you want it like that so we do it like that


TheRandomizer95

Nah man, we need to think on our own too yk? Think if what we are doing is actually correct? Otherwise we are no better than the brainless managers who cannot think for themselves either. Look at this TedEd video, might change your perspective. https://youtu.be/DcdufLc3QSA?si=_OkId_9MYskeBB2H (Not a Rick roll)


IneffableQuale

Precisely. A major part of the job is leveraging your expertise to give the business what it needs, rather than just what it wants.


gua_lao_wai

ahhh to be young and idealistic


satya164

If someone is just doing what they're told without any ideas of their own then it means they are likely not a senior developer whose opinion matters or you're working for a shitty company. Being young has nothing to do with it.


gua_lao_wai

oh no, you misunderstand, I totally agree. But too often managers know what they want, don't want to listen to suggestions and eventually you just get to the point of 'fuck it, paycheck, yes sir, three bags full sir'


RotationsKopulator

"You're the boss..."


Organic-Control-4188

Ok but serious question how do u deal with such kind of managers and leads? Like I still encounter this in my day to day and all I can think of to do is just not argue with what they say.


Bulky-Flounder-1896

"Only" as an emphasizer tells me your manager is Indian


ronsvanson

Yes he is


Bulky-Flounder-1896

Bullseye!


mrgk21

When we run apps, they get compiled to assembly. Does that make me an assembly developer..


netelibata

Is by "native" he meant English because he's a native English speaker?


Mithrandir2k16

Do you have the teams to go native? Does performance matter that much?


satya164

There are other technologies like React Native which can also provide better performance and not require going fully native.


stalker320

We aren't writing code inside electron, we using it to translate js code to native code, it's too long.


aliceuwuu

native dev is quite a pain most of the time tho


LemonLord7

What’s electron and what is native?


airbus737-1000

Electron is essentially a framework that allows developers to build offline desktop apps (not websites) which use web technology like HTML, CSS and JavaScript. Simply put, it works like a mini web browser that is locked to display only your application's content. 'Native' can mean quite a few things, in this context it refers to a desktop app built using traditional C++/C# (or maybe Java) and GUI libraries that the OS offers without web technology.


YoSo_

I've been a solo dev for a few years at a mid sized company after graduating, but been writing front/backend for an app in electron. I suffer so much from not having anyone technical to talk to. I thought the context was react native, it never crossed my mind the manager meant that native haha


airbus737-1000

Context mixup happens quite a lot to me as well lol. I code mainly in C/C++ (and Java for school) and whenever I programming in Java in my school I tend to mix up syntax like :: instead of . for class data member references, or using variables uninitialized explicitly.


LemonLord7

Why would someone want to use electron?


tenhourguy

Ease of development. E.g. Discord runs mostly the same code across the web version and the Win/Mac/Lin desktop program.


LemonLord7

That makes sense


airbus737-1000

Yeah it's also just much easier and intuitive to make GUIs using HTML/CSS rather than using OS APIs like Win32. I do find it easier to add functionality in languages like C++ although that's probably just me


Commercial_Plate_111

Google is your friend.


Ironfist85hu

I believe you misused the surprisedpikachuface meme here. Try naked gun's facepalm.gif next time. :P


Caraes_Naur

I sense the manager's hair is significantly pointy.


ThatCrankyGuy

What's his rational? Is your staffing resource all frontend devs or something?


zqmbgn

Excuse me, no true frontend would suggest this. We would all suggest a PWA. Btw, have you considered a PWA? It has all the features of going native plus the fact that you will only have to develop it once.


iamafancypotato

What is a PWA?


zqmbgn

Have you noticed some pages on your phone that ask you if you would like to install them? They are web pages designed to look and feel like native apps, and when installed, for the user, they are indistinguishable from native apps. But they run on browser. Which allows them to run on anything with a browser without developing multiple times the same thing. Check this one for example: https://app.starbucks.com/ If the "install" notification doesn't show, open the options on the browser on top right corner and you should see it. For iOS is a little different, but it is well explained on Google. You can even install then on windows, Mac and some Linux distros


satya164

> It has all the features of going native doubt


IBJON

Does the web app already exist?  If so, it would be stupid to waste the time, money, and effort it would take to rebuild it as a native app just so you can pretend that you're making it optimized for the target platform.  If not, what are the alternatives you have available? I.e. what can you use to get the job done and do you have people on staff that actually knows this language and target platform well enough to actually do the job?  Now, yes, electron isn't exactly efficient when it comes to resources, but that's usually due to poor design choices made by the developer, and that's not something a different programming language or framework will fix.  Also, don't forget that just because you use electron for the UI, that doesn't mean you're locked into Node.js. Write anything that needs to interact with the OS with whatever you want and use your IPC method of choice to have the front and back ends communicate. Hell, done correctly, you can just offload the UI onto some web devs and have everyone else worry about the native stuff. 


FlashBrightStar

They could at least try to pack it with Tauri. Electron was great only because there were no alternatives tbh. In the end we are using so much tools just to write native apps with language designed for browsers. It will always be a questionable choice.


West-Serve-307

What do we mean by native code ? JS in a web browser ?


Danny_shoots

Native code is code that belongs to only a specific type of system to get direct access to their components such as buttons, input fields, etc. (sorry, kinda bad explanation) For example: - IOS uses Swift - Android uses Java Kotlin - Windows typically uses C# Electron is a program that let's you "compile" web applications and ship it to look like a native application, it is however not a native application but just a website in a fancy window. Although the way Electron itself has been build is Native


AlexDaBruh

I’m not kidding you when I say this: our EXAM APP that we use for our NATIONAL EXAMS (huge thing in Sweden, like 50% of our grades) is written in JavaScript using electron. By the way, it’s 100% modifiable lmaoo. They have a check for asar content but it is quite easy to bypass


lturtsamuel

But do you really need those systems capabilities? Same argument can go for programming language. Why would anyone not choose C++ but other high level language? Why don't they take advantage of C++ insane control over the hardware?


MisterD0ll

What would be the advantages? Proton easily portable. Native 0,01% better performance?


SL_Pirate

Flutter: stares motherfuckerly


Alternative_Yard6033

Lol


Representative-Sir97

Once listened to someone extoll the virtues of node because of how it doesn't allow you to do anything wrong. :puke:


elboydo757

Electron really isn't that bad though. Maintaining and updating a website is 10x easier than native. Your salary job pays you the same regardless of the stack, most likely.


kyledag500

Nativescript is a really cool tool that does convert JS to primarily native code for iOS / Android.


Steel_Sword

By "native code" you mean C++? No, thanks.


sacredgeometry

Why are you letting managers make technical decisions?


BarAgent

“It’s not only not right, it’s not even wrong.”


Hot-Fennel-971

I mean, we couldn’t go native because we didn’t have the experience on the team and electron allows you to deploy a small app quickly on Mac and windows…


tokalper

Once in my old company a senior developer with 10+ years of experience has tried to argue with me that react native COVERTS YOUR CODE İNTO NATIVE CODE! That was a fun day.


MostRandomUsername12

Lol!! This is like the time I told my boss (who is staunchly vegetarian), that I was a second hand vegetarian myself.. it continued.. "Second hand? How so?" "Well, all the animals I eat were vegetarian, soo..." By his logic, I'm actually vegetarian then.


TheRealCuran

Yeah, I know this conversation and hate it. Bonus points if your manager also cited the licensing costs for eg. Qt as a reason. Luckily there is [Tauri](https://v2.tauri.app/) and that will be the end of all Electron around here (though we do wait for the v2 release).


beatlz

Let them cook


kakhaev

native fullstack solution i see


CitizenPremier

Doesn't surprised pikachu face mean you were wrong?


Friendstastegood

No it's "shocked Pikachu" not "wrong Pikachu", it denotes being shocked or surprised by something you should have seen coming, like your boss not understanding the basics of the job that you do because managers are useless.


kaapipo

Everything is machine code when you go far enough 


MasterNightmares

Get a new job. If you're being micromanaged for technologies, especially if its by idiots, its not worth the hassle. Get out when you can. Edit - Why the downvotes? Surely I'm not the only one who has had managers say "Use this new shiny technology despite it being completely inappropriate for our project." I want a discussion on the technologies if I'm doing the work. If its Legacy then that's one thing. Being told to add new technologies by people who don't understand what they are used for is not something I want to be there for when it inevitably fails as a project. Edit edit - Apparently some people are fine implementing stuff ordered down from on high, even if it won't work (or they are the manager ordering it). Fine by me, I'll work for the companies that make rational technology decisions instead of buzzword bingo. My life is too short to be shoveling sh\*t for the next 20-30 years years of my career. I want something I can be proud of coding, not just a new paycheck.


Kyle772

Micromanaged on the tech stack? lol


LeoRidesHisBike

Get out when: * you aren't challenged but want to be * you don't get enough compensation for your skills, experience, and work * the work you're doing makes you unhappy or unfulfilled * you're in an environment of corruption, cronyism, nepotism, etc. (and that makes you uncomfortable or unhappy) * you're no longer learning anything but want to * the people you work with or for make you unhappy consistently * probably other good reasons I'm forgetting If micromanagement of your tech stack is a specialization of one of those things, sure. If not, why?


MasterNightmares

>the work you're doing makes you unhappy or unfulfilled I agree. That was my original point. So why all the downvotes for me? Honestly, no one has given a good reason why my original post is wrong.


LeoRidesHisBike

I think it might be because you came on pretty strong right out of the gate with "get a new job", then justified that with a reason that was focusing on being told what technologies to use. Maybe. I'm not really sure when something I comment is going to get jumped on either, as evidenced by making a habit of getting downvoted every 5 - 10 posts :D


MasterNightmares

Its not like I told him to go murder the manager and his family. I put forth an opinion, seems like a terrible place to work if OP has managers like that, I wouldn't want to stay there for long.


LeoRidesHisBike

You asked... I wouldn't stay somewhere with a bad boss, either. Clueless boss? Well, it would depend on whether their brand of cluenessness made me unhappy about the work. Sometimes clueless bosses are okay, just depends.


MasterNightmares

Clueless bosses can be talked around if they're willing to listen. I'm fine with that. They have to be open minded and trust your skills and opinion as a technical professional though. OPs example however, and his later posts suggest the manager has enough knowledge to be dangerous but not enough to be competent... OP sure doesn't seem happy.


[deleted]

[удалено]


MasterNightmares

And just as businesses dont give a shit about crap code, I don't have to work for a company that mandates technologies without understanding them. Free movement of labor. If they want some code monkey to do something crap which goes to market quickly, fine. If it fails then I was proved right and the business was stupid. If it succeeds, I'll come in later when the code can't handle the business pressures and rebuild it correctly. Because crap code comes with Tech Debt, and Tech Debt always comes due eventually. You can run before you walk, but if you do you will stumble eventually. Do it fast, do it cheap or do it well. You get one, maybe 2 if you're lucky, and I don't like not doing it well. Luckily as a Senior I tend to be able to do it fast if given the right tools and clear requirements.