Code Monkey home page Code Monkey logo

jikes's Introduction

jikes

Web framework for beginners.

A lot of people start programming for the web. Becasue web sites are understandable and accessible. But let's face it: entry-level web technologies are shit.

Anecdote time!

When I was thirteen I was building a CMS (or so I thought), but I couldn't quite get the CREATE statements for the MySQL database to work. I don't remember what I did wrong, because it was all just a black box to me. Most of my code was copy-pasted from tutorials and adjusted to work in my case. Why? Because I had no idea what I was doing. No, why were you using MySQL for, like, your first project? Oh.

Well, I just did what I thought was normal. When I started looking into how to build websites (after the initial static sites), the generally recommended way to go was PHP. And MySQL.

The problem with PHP is that it encourages messing your data and your presentation layers together. That's a ridiculously stupid idea, as any experienced developer will know. Still, it's what we teach the new guys and gals.

The problem with MySQL is that it is just too much. It's not actually needed for most simple projects.

jikes will totally solve this, by being just as accessible (or more so) than PHP and MySQL, while encouraging data separation and simple data storage (like, you know, the file system).

Cool. Let's get started.

Install it:

npm install jikes -g

Launch it in a directory:

jikes .

jikes's People

Watchers

James Cloos avatar Niels Abildgaard avatar  avatar

jikes's Issues

URL rewrite

Better paths, ie. /post/:id rather than view-post?id=:id

rendermap HTML tag

<rendermap {view} {arrayOfVariableSets}> renders the view for every entry in the arrayOfVariableSets, providing the entry as variables (it must be an object of varialbes).

render HTML tag

The <render {file} {variables}> basically mimicks render(file, variables). It renders a sub-view.

Assets/public files

It should be legal to have frontend JavaScript files that Arent created as dynamic renders. How to do this?

One solution is a folder with public/ files which should probably also contain static HTML files. I don't like that.

Alternatively backend js files should be differentiated by their name somehow, so the server knows to not just serve it.... I like this. But how? Naming konvention?

Blog example

An example with some actual code-behind: a blog that runs on the file system.

Use some open source editor for editing, save Markdown as flatfiles. Dynamically render the views from flat files.

Templating

It must be possible to render within a set template.

There are quite a few design decisions to be made for this, and the syntax/placement has not been planned yet.

Redirection

It should be possible to handle a call and then redirect to a different page.

No decisions have been made about how to do this, yet.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.