kvision icon indicating copy to clipboard operation
kvision copied to clipboard

KVision development

Open rjaros opened this issue 4 years ago • 20 comments

Hi,

I'm opening this issue to get feedback about some development decisions.

I'm going to drop dependency on kotlin-observable-js project, which seems to be over complicated and constantly causes errors in my IntelliJ IDE. I've created a new ObservableList implementation, which is already pushed to master. It's very simple implementation, backed by standard MutableMap, which seems to be stable and efficient.

This new implementation will be used in DataContainer and Tabulator components from the next release. All projects using com.lightningkite.kotlin.observable.list.ObservableList would need to migrate to a new class.

If someone has problems with this change - let me know.

rjaros avatar Jul 06 '19 11:07 rjaros

as long as it can still be used with tabulator and data container with no serialization, everything is good with me

robert-cronin avatar Jul 08 '19 07:07 robert-cronin

Seems to be the right way to go. The less dependencies the better.

mpetuska avatar Jul 10 '19 09:07 mpetuska

I'm not sure if anyone (but me) uses Spring Boot interfaces, but in 2.0 I'm going to replace current, MVC based with new, WebFlux based. Webflux integration with Kotlin coroutines is a lot better. The KVision API will stay the same, but I'll have to drop Pac4J integration, which is not compatible with reactive spring. I will think about keeping both modules available if anyone requires it. If not - the old module will be just replaced.

rjaros avatar Oct 09 '19 11:10 rjaros

@rjaros thanks for the update! however I am unable to install version 2.0.0-M1, is this still yet to be released to bintray?

robert-cronin avatar Oct 11 '19 06:10 robert-cronin

It is, but snabdom lib it is using is published without pom.

Since the lib is published without pom you need to add it as


        maven {
            url = uri("https://dl.bintray.com/gbaldeck/kotlin")
            metadataSources {
                artifact()
            }
        }

mpetuska avatar Oct 11 '19 06:10 mpetuska

It's published to bintray. But the module names changed. See https://kvision.gitbook.io/kvision-guide/part-1-fundamentals/migration All projects from kvision-examples repository should work.

rjaros avatar Oct 11 '19 07:10 rjaros

Not sure if this is due to me not including something, but I am getting an error of Unresolved reference: hmr and Unresolved reference: ApplicationBase, looks like all the examples still use hmr for module but mine is now just called using import pl.treksoft.kvision.module but Application Base doesn't seem to be in the same place

robert-cronin avatar Oct 14 '19 04:10 robert-cronin

Solved, looks like its just been renamed to just Application: import pl.treksoft.kvision.Application

robert-cronin avatar Oct 14 '19 05:10 robert-cronin

The examples are still configured for M1. I'm converting them all at the moment.

rjaros avatar Oct 14 '19 11:10 rjaros

All examples are ready for M2.

rjaros avatar Oct 14 '19 14:10 rjaros

Examples of how to use Tabulator with its full features would be greatly appreciated.

harshit9033 avatar Mar 26 '20 04:03 harshit9033

Tabulator alone is probably more complex then the whole KVision framework :-) They have several dozen examples in their docs. Unfortunately I don't have the resources nor the time to make all these features with example code in KVision. But feel free to create an issue if you have any question or problem with Tabulator features - I'll try to help.

rjaros avatar Mar 26 '20 08:03 rjaros

Datatable & Toast functionality can be a good feature for this framework.!

harshit9033 avatar Mar 30 '20 13:03 harshit9033

New kvision-toast module, based on https://codeseven.github.io/toastr/ component is ready.

rjaros avatar Apr 19 '20 17:04 rjaros

Datatable & Toast functionality can be a good feature for this framework.!

What do you mean by "Datatable"? Isn't Tabulator component not enough?

rjaros avatar Apr 19 '20 17:04 rjaros

While preparing for Kotlin 1.4 I've decided to change the way to workaround KT-34287 issue. In 3.11.2 I've moved the assets used by KVision from maven jar artifacts to the separate NPM project. This change allows to greatly simplify application build files. All kvision-examples projects have been refactored and simplified. I've also removed some unnecessary options (including -Pprod=true parameter, which is not required anymore). The previous build files should work fine without any changes as well, but I recommend everyone to make these changes as well for better readability, performance and compatibility with the future 1.4 release.

rjaros avatar Jul 24 '20 14:07 rjaros

Is there a way to use it without gradle? With just maven? Can it be documented? Thanks

mgrouch avatar Oct 09 '20 04:10 mgrouch

Can you add continuous unit testing? Thanks

mgrouch avatar Oct 09 '20 04:10 mgrouch

Is there a way to use it without gradle? With just maven? Can it be documented?

As far as I know you have to use gradle. Kotlin support for maven is limited and I don't know any example of JS or multiplatform project created without gradle.

rjaros avatar Oct 09 '20 07:10 rjaros

Can you add continuous unit testing? Thanks

There is a way to use Karma in continuous mode, but I've never used that. It was discussed in https://github.com/rjaros/kvision/issues/147#issuecomment-607294774.

rjaros avatar Oct 09 '20 07:10 rjaros

Closing this issue now. Join Kotlin Slack #kvision channel or the Discord server for discussions.

rjaros avatar Feb 06 '23 08:02 rjaros