[HN Gopher] Show HN: Franz - A desktop client for Apache Kafka
       ___________________________________________________________________
        
       Show HN: Franz - A desktop client for Apache Kafka
        
       This is the source code to Franz, a native desktop client for
       Apache Kafka I've been working on for the past ~three years or so.
       Around 2021, I started using Kafka at a startup and I didn't like
       any of the clients that were available at the time, so I decided to
       build my own in my spare time[1]. I wanted a solid native
       experience on the Mac that wasn't web based and didn't require any
       Docker containers to run.  A few months ago, I decided to make the
       code source-available[2] in part because I like the idea of my
       users being able to see the code they're running and in part
       because I want to showcase that one can build serious applications
       with Racket. The app also has a somewhat unusual architecture: the
       "backend" (the "core" folder) is written in Racket, the Mac
       "frontend" (the "FranzCocoa" folder) is Swift + Cocoa/SwiftUI[3,
       4], and the two sides communicate over pipes. The Windows and Linux
       versions (the "FranzCross" folder) reuse the Racket core and
       implement the frontend using a wrapper around Racket's cross-
       platform GUI toolkit[5, 6]. My goal is to eventually port the
       frontend for the latter two platforms to use their native toolkits
       directly as well (see [3] for some more details re. Windows).
       Happy to answer any questions!  [1]:
       https://defn.io/2022/11/20/ann-franz/  [2]:
       https://defn.io/2023/08/10/ann-franz-source-available/  [3]:
       https://defn.io/2023/03/19/racketfest-talk-2023/  [4]:
       https://defn.io/2022/08/21/swiftui-plus-racket-screencast/  [5]:
       https://defn.io/2021/11/07/racketcon-talk-2021/  [6]:
       https://arxiv.org/abs/2308.16024v1
        
       Author : Bogdanp
       Score  : 29 points
       Date   : 2024-02-06 07:58 UTC (1 days ago)
        
 (HTM) web link (github.com)
 (TXT) w3m dump (github.com)
        
       | Bogdanp wrote:
       | In terms of code size, the repo is about 50/50 Racket and Swift:
       | $ cloc FranzCocoa FranzCross core/ manual/ --include-
       | lang=swift,racket            355 text files.            244
       | unique files.            419 files ignored.
       | github.com/AlDanial/cloc v 1.98  T=0.06 s (2511.1 files/s,
       | 383637.1 lines/s)       -----------------------------------------
       | --------------------------------------       Language
       | files          blank        comment           code       --------
       | -----------------------------------------------------------------
       | ------       Racket                          91           1235
       | 79           9968       Swift                           53
       | 1148            132           9438       ------------------------
       | -------------------------------------------------------
       | SUM:                           144           2383            211
       | 19406       -----------------------------------------------------
       | --------------------------
       | 
       | But, if I include all the supporting Racket libraries I built for
       | the app, the ratio changes to about 4/1 in favor of Racket:
       | $ cloc FranzCocoa FranzCross core/ manual/ <more paths>
       | --include-lang=swift,racket           1644 text files.
       | 996 unique files.           3334 files ignored.
       | github.com/AlDanial/cloc v 1.98  T=0.35 s (1871.6 files/s,
       | 168111.5 lines/s)       -----------------------------------------
       | --------------------------------------       Language
       | files          blank        comment           code       --------
       | -----------------------------------------------------------------
       | ------       Racket                         598           5535
       | 356          41295       Swift                           65
       | 1316            272          10779       ------------------------
       | -------------------------------------------------------
       | SUM:                           663           6851            628
       | 52074       -----------------------------------------------------
       | --------------------------
        
       | 99112000 wrote:
       | O hey WinRAR!
       | 
       | On a more serious note, cool app. The iconic WinRAR notice to
       | purchase a license would be a nice easteregg.
        
       | cellularmitosis wrote:
       | Very interesting to see a Racket/Swift hybrid! Though this seems
       | more of a strict front-end / back-end division, I was reminded at
       | least initially of Shrimp / Goby from Mike Fikes
       | https://github.com/mfikes/shrimp
        
       ___________________________________________________________________
       (page generated 2024-02-07 23:01 UTC)