19
kabbura
6y

An easy to use, high level framework in Kotlin for front-end web-development. Allows for creating web apps without using HTML, CSS, or JavaScript.

Project Type
Existing open source project
Summary

An easy to use, high level framework in Kotlin for front-end web-development. Allows for creating web apps without using HTML, CSS, or JavaScript.

Description
Philosophy Web apps framework without using HTML, CSS, or JavaScript. Problem * Web technologies are pain. Html is verbose, CSS is unexpected, and javascript is.. javascript. * The no. of technoloies a developer needs to learn to write web apps is big. That is, HTML, CSS and JavaScript at the least. Then there are javascript frameworks (react, angular, vue), LESS, SCSS, Haml. There are also packaging tools, gulp, webpack. * Modern javascript frameworks solve the JavaScript problem, not the front end problem. React use JSX (embeded HTML in javascript) while Angular requires CSS and HTML. Proposal An easy to use, high level framework in Kotlin for web development. You do not need to learn the web stack, only the framework to be able to write web apps. Developer experience Developers only need to use Kotlin for developement. The framework the view from the presenter and data. You write the view (similar to Android xml layouts) in Kotlin DSL. e. g. verticalLayout { width = matchParent height = matchParent background = Color.rgb(240, 240, 240) button { text = "Click me" } } The presenter and model (similar to Android activity or iOS ViewController) should extend a base class and implement certain life cycle functions. The framework views contains easy to understand and familiar components and layouts managers. i. e. Button, TextView, TextInput, HorizontalLayout, VerticalLayout and so on. The framework makes laying out objects easy, e. g. match parent, wrap content. There should be a way to wrap any html, css, and js into a framework component to use it inside the framework. Implementation * Kotlin transpiles to javascript, and is well designed to support DSLs. * Code will be turned to javascript at compile time, and a basic HTML file loads the generated .js file. * At runtime, the js file will generate the required HTML, and CSS files containing the who application.
Tech Stack
kotlin, gradle, webpack
Current Team Size
2
URL
Comments
  • 4
    Always wanted something like this to happen after banging my head around css. Good god made designing for android easier with xml. Spread it everywhere 😂
  • 1
    @htlr
    Yeah I didn't like playing with css, and js either.
    I pushed new updates to the github repo. Now you use it Kunafa as a gradle dependency.
    P. S. I still want web designers and developers feedback + any contribution is welcomed.
Add Comment