what framework is webfig written in?
RouterOS is not made using any frameworks. Webfig is made from scratch / by hand
Impressive… but if you really want to impress me, add Zerotier cloudflare tunnel as an options package and I promise not to point out how valuable this functionality would be for users on all MT devices, every chance I get. ![]()
But course! However, just not before the ZT client is fixed on the remaining architectures and the controller is extracted into a separate package. ![]()
I am not at liberty to discuss other failings or progress or lack thereof due to a non-disclosure agreement with my conscious.
Basically, I dont like getting bounced off forum LOL>
That may have been the correct choice when it was written, but for new things going forward, for example in the hinted at MikroTik Devices Controller, I don’t think it makes much sense.
But it can lead to many later support problems. Some non-router examples from other vendors.
- VAX/VMS kernel was written in VAX assembly language in 1976 (with some in Bliss, another dead system implementation language). This made porting to other architectures extremely complex (they had to write a VAX macro “compiler”, to maintain the ability to run old source code. They even wrote a binary translator for VAX .EXE files that would create an EXE that would run on the Alpha processor. Although it was successfully ported to Alpha, then to Itanium, and finally to X86-64 it is now essentially a dead O/S (although the kernel design lives on in Windows NT). Unix, a contemporary of VAX/VMS was written in C with only minimal things written in Assembler, and this made it much easier to maintain.
2). Steve Gibson chose to write Spinrite in assembly language, and it has been stuck for the last 19 years, although there have been numerous promises of an updated version.
z/OS lives without C and could run unchanged binaries and sources made back in the 60’s.
Who else uses PL/something for system programming? Try to remove RPG or COBOL from z/OS.
Are you so brave to say that language on my avatar seems to be a bit unmaintained?
![]()
My first intro to programming class was Fortran IV on an IBM SYS/3 (running single user mode) and using 80 column punch cards. Also had other classes in RPG II, Cobol and IBM SYS/3 assembler (none that I ever used outside of the class). This was 1975-1976.
Fortran 90 is the last dialect I have used, and it was a breaking release as some language features were removed.
My comment was mainly that “rolling your own from scratch” usually no longer makes sense from a maintainability standpoint. Not that it can’t be maintained, just that it usually isn’t cost effective compared to using a framework.
Crap I learned fortran in 1980 with punchcards at University you must real old buckeye LOL.
Web frameworks have a half-life of about five years. Day 1, you select the current hotness and all is well, but by the time your app sees its first decade, people are going, “You wrote it in what? Are you loony?”
@anav, either you were a late learner or indeed @buckeye has a month or two on you …
Back to the topic: using some sophisticated 3rd party frameworks perhaps adds to UI looks, can aide with usability to certain extent and can speed up initial development. At the same time makes whole project dependant on framework being supported for extensive periods of time which is not aways the case (and it’s next to impossible to predict the lifetime of a framework project). So having WEB UI developed in-house may be better in long term, specially if UI looks is not very important and contents doesn’t change too much (the former is obviously a big problem for some users, I couldn’t care less).
Of course it is a disadvantage that you need to study a lot and do a lot of work when others (that use a framework) suddenly are able to do “spectacular” things like having a canvas with multiple overlapping child windows, like winbox has, and you want to introduce that in webfig. Or you want to introduce selectable/sizeable/movable colums whose setting is saved between sessions. All possible, but a lot of work to find out how…
So, webfig will likely always remain behind webfig in development.
Spectacular things are great in year 1.
In year 5, when upstream development has moved on to other projects, what once looked whizzy now looks outdated, and it’s barely limping by in maintenance mode.
In year 10, you’re hand-patching the framework merely to get it to run on modern platforms, because no one else will do the work for you.
In year 15, you’re looking at a complete rewrite.
And in year 20, the stuff you were looking at with jealousy in year 10 is itself obsolete, and you’re breathing a sigh of relief that you didn’t jump ship then.
I speak from experience.
These days, I limit my “framework” to jQuery, and that only because my code is a third the size when I do it that way instead of programming straight to the wordy browser APIs.
My first program was for MS-DOS v 3.30 on i8086 CPU (honestly, not exactly, my first programs was in paper notebook because I did not have a computer). I am too young for punch cards, but played with them in my childhood. I can’t agree that using framework is always justified. The average lifetime of a web framework is very short. Understanding and maintaining someone else’s codebase is very difficult. Framework functionality is redundant. It may (and will) contain vulnerabilities. I know that in long-maintained software products developers throw out frameworks and rewrite the necessary functions on their own, precisely because of maintainability.
Something as complex as RouterOS also means that there will be exceptions and hacks needed for any existing framework, so many, that modifying anything takes more time than to make our own
I am sure there are good reasons for not using a framework for WebFig, given it needs to run on tightly memory constrained platforms.
Perhaps MikroTik has developed their own internal framework and guidelines.
No matter what you do, things get outdated. Look at the Dude. Is there anyone left at MikroTik that understands its code base?
I did get a chuckle out of the xkcd cartoon @Joni posted here
And it reminded me of programming languages like PL/1 (i.e. a universal language)
A little too young to have used punch cards, but I have seen them used and for years I carried unused punch cards for writing notes because they fit perfectly in a shirt pocket (yes, right behind the pocket protector with pens in it)…
Back in the early 80s we had an alarm system at work that ran on a PDP-11 something that stored the program and configuration on paper tape. If we had to do a cold boot, we would load the bootstrap (around 30 bytes) with toggle switches, then set one address and tell it to run. That would run the bootstrap and then load the program and configuration from a model 35 Teletype machine using paper tape.
heheh when we were learning fortran, there were some offices with PDP-11s, not part of the course but I recall sneaking in and playing Star Trek.
{Thought it was the cats meow, until playing doom on a 33.6K modem and getting a 3 player game working (uk,us,canada).}
Starts at minute 8:00
https://www.youtube.com/watch?v=yw1XgKWLq64
If they fit in your shirt pocket, they were probably the 96 column cards. They switched from 80 to 96 the second year, and the 96 were much nicer, and allowed you to edit the whole line before anything got punched.
Nope. 80 column.