it seems ridiculous that we have to embed an entire browser, meant for internet web browsing, just to create a cross-platform UI with moderate ease.

Why are native or semi-native UI frameworks lagging so far behind? am I wrong in thinking this? are there easier, declarative frameworks for creating semi-native UIs on desktop that don’t look like windows 1998?

  • abhibeckert@lemmy.world
    link
    fedilink
    arrow-up
    1
    ·
    edit-2
    1 year ago

    Quartz (usually referred to as Core Graphics) isn’t recommended anymore on Macs.

    Developers should be using SwiftUI now, which is a completely different approach:

    class HelloWorldView: NSView {
        override func draw(_ dirtyRect: NSRect) {
            super.draw(dirtyRect)
    
            // Drawing code here.
            guard let context = NSGraphicsContext.current?.cgContext else { return }
    
            // Set text attributes
            let attributes: [NSAttributedString.Key: Any] = [
                .font: NSFont.systemFont(ofSize: 24),
                .foregroundColor: NSColor.black
            ]
    
            // Create the string
            let string = NSAttributedString(string: "Hello World", attributes: attributes)
    
            // Draw the string
            string.draw(at: CGPoint(x: 20, y: 20))
        }
    }
    

    Here’s the same thing with SwiftUI:

    struct HelloWorldView: View {
        var body: some View {
            Text("Hello World")
                .font(.system(size: 24))
                .foregroundColor(.black)
                .padding()
        }
    }