kvision
kvision copied to clipboard
KVision development
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.
as long as it can still be used with tabulator and data container with no serialization, everything is good with me
Seems to be the right way to go. The less dependencies the better.
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 thanks for the update! however I am unable to install version 2.0.0-M1, is this still yet to be released to bintray?
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()
}
}
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.
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
Solved, looks like its just been renamed to just Application:
import pl.treksoft.kvision.Application
The examples are still configured for M1. I'm converting them all at the moment.
All examples are ready for M2.
Examples of how to use Tabulator with its full features would be greatly appreciated.
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.
Datatable & Toast functionality can be a good feature for this framework.!
New kvision-toast
module, based on https://codeseven.github.io/toastr/ component is ready.
Datatable & Toast functionality can be a good feature for this framework.!
What do you mean by "Datatable"? Isn't Tabulator
component not enough?
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.
Is there a way to use it without gradle? With just maven? Can it be documented? Thanks
Can you add continuous unit testing? Thanks
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.
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.
Closing this issue now. Join Kotlin Slack #kvision channel or the Discord server for discussions.